다음과 같은 파일이 있습니다.
AA 110 B 2 .. BB 3 ... BBB 3 D F 3 D D
AA 111 B 2 .. BB 3 ... BBB 0 F F 0 F F
AA 112 C 2 .. BB 3 ... BBB 0 D F 0 D F
AA 120 D 2 .. FF 3 ... FFF 3 D F 3 D D
특정 값 0이 포함된 행을 삭제하고 싶습니다. 내가 이렇게 하면:
sed '/0/d' infile > newfile
그런 다음 행 1과 4는 110과 120에 "0"이 포함되어 있으므로 삭제됩니다. 나는 grep grep -v '0' infile > newfile
이나 awk의 다른 옵션을 시도했지만 성공하지 못했습니다.
이 작업을 수행하는 쉬운 방법이 있다고 확신하지만 찾을 수 없습니다. 어떤 아이디어가 있나요?
감사해요!
답변1
전체 단어와 일치하도록 -w
추가 :grep
$ grep -vw 0 infile
AA 110 B 2 .. BB 3 ... BBB 3 D F 3 D D
AA 120 D 2 .. FF 3 ... FFF 3 D F 3 D D
답변2
노력하다단어 경계 앵커
sed '/\b0\b/d' file
AA 110 B 2 .. BB 3 ... BBB 3 D F 3 D D
AA 120 D 2 .. FF 3 ... FFF 3 D F 3 D D
답변3
탭 구분 기호 업데이트
sed '/\t0\t/d' infile > newfile
그러나 이것이 더 안전합니다.
sed '/\b0\b/d' infile > newfile