파일의 패턴 검색, [중복]

파일의 패턴 검색, [중복]

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

관련 정보