
현재 다음 명령이 있습니다.
sed 's/\([^C]*\)/\1AB/'
행에서 "C"의 첫 번째 인스턴스 앞에 "AB"를 삽입합니다. 그러나 "C"를 추가하지 않고 각 줄 끝에 "AB"도 추가합니다.
"C"가 발견된 경우에만 편집하도록 하려면 어떻게 해야 합니까?
답변1
그냥 교체하면 문제가 없나요 C
?
sed 's/C/ABC/'
이렇게 하면 첫 번째 인스턴스만 교체됩니다( g
모든 인스턴스를 교체하려는 경우 끝에 추가할 수 있음).
답변2
주소 필터가 필요합니다.
sed '/C/s/\([^C]*\)/\1AB/'