텍스트 파일에서 발생하는 명령 출력 라인을 필터링하는 방법은 무엇입니까? 된 행의 텍스트 파일이

금지 된 행의 텍스트 파일이 있다고 가정 해 봅시다 forbidden.txt. 텍스트 파일에 존재하는 명령 출력의 모든 줄을 필터링하는 간단한 방법은 무엇입니까?

cat input.txt | exclude-forbidden-lines forbidden.txt | sort


답변

다음 grep과 같이 사용하십시오 .

$ grep -v -x -F -f forbidden.txt input.txt

grep의미 있는 옵션의 긴 목록

  • -v일치의 의미를 뒤집습니다. 즉 일치 하지 않는 것을 찾습니다 .
  • -x패턴을 일치 시킬 때는 패턴 이 전체 라인 과 일치해야합니다 .
  • -F패턴을 일치시킬 때 패턴을 고정 표현식으로 취급하십시오 ( 예 : 정규식이 아님).
  • -f주어진 파일에서 패턴을 읽습니다 ( forbidden.txt).

그런 다음 파이프를 사용 sort하거나 원하는 작업을 수행하십시오.