grepに提供したいファイル(パターンファイル)があり、-f
文字列を含む他のファイル(検索ファイル)で一致するものを見つけたいと思います。によって。 。スタート与えられたパターン。たとえば、
スキーマファイル
1234
qwerty
chicken
ファイル検索
12345
543212345
qwerty
1fwf32sgww
chicken fingers
上記のファイルが与えられた場合、grepは次の行を返す必要があります。
12345
qwerty
chicken fingers
どうすればいいですか?
ベストアンサー1
転送したい^
内容をすべての行の前に追加できます。PATERN_FILE
grep -f
paste -d '^' /dev/null PATTERN_FILE | grep -f - SEARCH_FILE
またはsed 's/^/^/' PATTERN_FILE
代わりにpaste
。
現在の行がデフォルトの正規表現ではなく固定文字列である場合は、PATTERN_FILE
すべての正規表現演算子もエスケープする必要があります。
sed 's/[][$^*\\.]/\\&/g; s/^/^/' PATTERN_FILE | grep -f - SEARCH_FILE