grep을 사용하여 텍스트 파일에 제공된 값 생략 [중복]

grep을 사용하여 텍스트 파일에 제공된 값 생략 [중복]

생략.txt

001
006
008
0016

파일을 grepfrom.txt로

001
006
007
008
0016
00546
008
0031
00
0021
0016

나하고 싶어

cat filetogrepfrom.txt | grep -a 00 | grep -v {lines from omit.txt}

답변1

grep -a 00 Filetogrepfrom.txt | grep -vf omit.txt

-f 파일, --file=파일

파일에서 하나 이상의 줄바꿈으로 구분된 패턴을 읽습니다. 빈 패턴 라인은 모든 입력 라인과 일치합니다. 줄바꿈은 패턴의 일부로 간주되지 않습니다. 파일이 비어 있으면 일치하는 항목이 없습니다.

원하는 대로 작동해야 합니다.

참고: grep파일에서 읽을 수 있으므로 필요하지 않습니다.cat

귀하의 예를 고려하면 grep -a 00모든 행과 일치하므로 불필요합니다. 또한 -a파일이 필요할 것 같지는 않지만 .txt더 이상한 것을 보았습니다.

답변2

관련이 없다고 가정하면 grep -a 00다음이 작동합니다. grep -vf omit.txt Filetogrepfrom.txt

Filetogrepfrom.txt경고: "0011"이 절대 포함되지 않을 것이라고 확신하지 않는 한 , 그렇지 않으면 omit.txt"0011"을 "001"로 필터링하여 "omit.txt"를 다음과 같이 바인딩해야 합니다:omit . 송신: ^001$ ^006$ ^008$ ^0016$

관련 정보