패턴은 다른 파일의 열로 나타납니다. 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
줄을 인쇄하지 마세요(일치하지 않는 한)