fgrep/grep -F/grep --fixed-strings를 사용할 때 PATTERN에 개행을 삽입하는 방법

fgrep/grep -F/grep --fixed-strings를 사용할 때 PATTERN에 개행을 삽입하는 방법

fgrep을 사용할 때 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.

PATTERN을 개행으로 구분된 문자열의 고정 목록으로 해석하며, 어느 문자열이든 일치합니다.

Bash에서 PATTERN 매개변수에 개행 문자를 삽입하는 올바른 방법은 무엇입니까(즉, 매뉴얼 페이지의 모든 행과 일치합니다).

나는 성공하지 않고 다음을 시도했습니다.

fgrep word1\nword2
fgrep word1\rword2
fgrep "word1\nword2"
fgrep "word1\rword2"

가능하다면 모든 명령을 한 줄에 입력하고 싶습니다.

답변1

이는 구문을 사용하여 $'\n'수행 할 수 있습니다(참조:https://stackoverflow.com/a/3182519/3822464). 예를 들어:

fgrep word1$'\n'word2

또는 전체 패턴을 다음과 같이 래핑할 수 있습니다(don_crissti 제공).

fgrep $'word1\nword2\nword3'

답변2

grep -F 'word1
word2' infile

또는 한 줄을 선호하는 경우:

grep -F -e 'word1' -e 'word2' infile

관련 정보