コマンドは、最後の一致文字列ではなくgrep -f input_pat.txt match_in.txt
一致パターンを印刷する方法を探しています。input_pat.txt
matched_in.txt
たとえば、次のようにinput_pat.txt
なります。
abc...blahblah
そしてmatch_in.txt
:
abcdefblahblah
"abc...blahblah"
印刷物に印刷したいです。
ベストアンサー1
grepを2回呼び出すと実行できます。少し高価ですが、作業は完了です。パターンファイルがpat.txtで、検索したいファイルがdata.txtであるとしましょう。
paste <(grep -o -f pat.txt data.txt ) <(grep -f pat.txt data.txt )
両方のコマンドの両方の出力がファイルとして処理さ<( ... )
れるように、プロセス置換を使用します。paste
最初のコマンドでは、-o
オプションは一致するパターンのみを印刷します。 2番目のコマンドは、完全に一致する行を印刷します。
順序は1対1なので、2つの出力を並べて貼り付けるのは安全です(grepを実行するときにスキーマファイルやデータファイルが変更されていないと仮定)。