パターンは他のファイルの列として表示されます。 File_1.txt
pattern1 pattern2
pattern3 pattern4
pattern5 pattern6
猫メインファイル.txt
mine line as pattern1 and pattern2
mine line2 as pattern5 and pattern6
other then that nothing should dispaly
unwanted line
最終出力ファイル.txt
mine line as pattern1 and pattern2
mine line2 as pattern5 and pattern6
両方のパターンが存在する場合は行のみが表示されますが、問題はfile_1.txtの列にパターンが存在することです。
答え1
ほぼ明らか
sed -s 's:\([^ ]*\)[ ]*\([^ ]*\):/\1.*\2/p:' file_1.txt | sed -f - -n Mainfile.txt
どこ
sed -s 's:\([^ ]*\)[ ]*\([^ ]*\):/\1.*\2/p:' file_1.txt
sed コマンドのリストを提供します
/pattern1.*pattern2/p
/pattern3.*pattern4/p
/pattern5.*pattern6/p
sed -f - -n Mainfile.txt
どこ
-f -
古いファイル(|
〜-
)をコマンドファイルとして使用します。-n
行を印刷しないでください(一致しない限り)