fgrepを使用する場合、マニュアルページには次のように指定されています。
PATTERNを改行で区切られた文字列の固定リストとして解釈し、どの文字列も一致します。
BashでPATTERNパラメータに改行文字を挿入する正しい方法は何ですか(つまり、マニュアルページのすべての行と一致します)。
私は成功せずに次のことを試しました。
fgrep word1\nword2
fgrep word1\rword2
fgrep "word1\nword2"
fgrep "word1\rword2"
可能であれば、すべてのコマンドを1行に入力したいと思います。
答え1
これは構文を使用して$'\n'
行うことができます(参照:https://stackoverflow.com/a/3182519/3822464)。たとえば、
fgrep word1$'\n'word2
または、パターン全体を次のようにラップできます(don_crissti提供)。
fgrep $'word1\nword2\nword3'
答え2
grep -F 'word1
word2' infile
または1行を好む場合:
grep -F -e 'word1' -e 'word2' infile