grep grep 명령 출력 문자열

grep grep 명령 출력 문자열

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줄에 정규식이 포함되어 있지 않다고 생각했기 때문에 "고정 문자열 사용"과 같은 것을 사용했습니다.

관련 정보