SED 명령을 사용하여 여러 항목 삭제

SED 명령을 사용하여 여러 항목 삭제

뒤에 따옴표가 오지 않는 모든 /t 문자를 제거해야 합니다.

sed 's/\\t\([^"]\)/foo\1/g' 

이 명령은 단일 발생에 적합합니다. 여러 발생(연속 발생)을 제거하려면 어떤 옵션을 추가해야 합니까?

전임자:abc/t/tdef

위의 명령은 제공 abc /tdef하지만 우리는 찾고 있습니다abc def

답변1

이와 같이:

$ cat file
abc/t/tdef
abc/t"/tdef

$ perl -pe 's|/t(?!")| |g' file
abc  def
abc/t" def

이 부분 (?!")부정적인 전망고급 정규식 기술, sed이것을 몰랐습니다

답변2

사용sed

$ sed -E 's~(/t")?(/t)+~\1 ~' file
abc def

관련 정보