![grep コマンドの後にファイルの内容全体をキーワードとして渡します。 [重複]](https://linux33.com/image/72890/grep%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E5%BE%8C%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E5%85%A8%E4%BD%93%E3%82%92%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89%E3%81%A8%E3%81%97%E3%81%A6%E6%B8%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20%5B%E9%87%8D%E8%A4%87%5D.png)
a.txt
とという2つのファイルがあるとしましょうb.txt
。a.txt
ファイル内で検索したい場合は、ファイルの内容全体をgrepコマンドのパターンとして使用する方法はありますかb.txt
?
一般的な形式は次のとおりですgrep
。
grep 'pattern' 'filename'
答え1
努力する
cat a.txt | grep -f - b.txt
または(必要に応じて<( )
)
grep -f <(cat a.txt) b.txt
答え2
完璧なソリューション:
grep -f a.txt b.txt
リストに適した代替スタイル言葉パターン(正規表現ではない):
fgrep "`cat a.txt`" b.txt
このfgrep
コマンドはと同じです。後者はハイフンマイナス文字で始まらgrep -F
ないと仮定すると、安価で完璧な解決策ではありません。a.txt
-