grep
"MyOwnError" 오류를 기반으로 로그에서 ID를 가져온 다음 동일한 ID를 사용하여 전체 로그에서 ID가 나타나는 전체 줄을 가져오고 싶습니다 .
예를 들어:
파일이 있다고 가정합니다 File1
.
animal:Dogs hate the animal:catsF and no-one else
animal:catsF hate the animal:fish
animal:catsF also hate animal:humans
내 검색어는 "개"입니다.
grep 'Dogs' File1 | grep -o 'animal:.*F'
animal:catsF
이제 grep
"catsF"에 대해 원하는 것과 동일한 파일이 제공됩니다 File1
.
시도해 보았 xargs
으나 매개변수 대신 파일 이름이 선택되었습니다.
grep 'Dogs' File1 | grep -o 'animal:.*F' | xargs grep File1
이 명령을 수정하거나 올바른 명령을 제공하십시오.
답변1
F
이 명령은 로 시작하는 첫 번째 줄을 반환합니다 animal:
. 한 단어만 얻으려면 animal:
다음 사이에 공백을 지정하지 마십시오 F
.
grep 'Dogs' File1 | grep -o 'animal:[^ ]*F'
키워드가 포함된 모든 행을 나열하려면 표준 입력(예: 파이프) 모드에서 읽기를 grep
사용하여 출력을 다시 파이프하십시오 .-f-
| grep -Ff- File1
나는 또한 -F
줄에 정규식이 포함되어 있지 않다고 생각했기 때문에 "고정 문자열 사용"과 같은 것을 사용했습니다.