raw.txt라는 Unix 텍스트 파일에 이 데이터 세트가 있을 때
2020-05-28 08:00:32,360 | push_imgs | INFO | Pulled 950-09050294592-FACE.jpg
2020-05-28 08:00:32,373 | push_imgs | INFO | Pulled 950-09050294592-SIGNATURE.jpg
날짜와 .jpg 파일만 인쇄하면 됩니다. 아래 예시처럼
2020-05-28 950-09050294592-FACE.jpg
현재 풀 및 .jpg를 사용하여 모든 행을 가져오는 다음 스크립트가 있습니다. 날짜와 .jpg 파일만 인쇄하면 됩니다.
awk '/Pulled/&&/.jpg/' IGNORECASE=1 /home/user/rawfile.txt
감사합니다!
답변1
해당 필드를 인쇄해 보셨나요?
awk '/Pulled/&&/.jpg/ { print ($1 $9);} ' IGNORECASE=1 yourfile
답변2
모든 행이 질문에 표시된 형식이라고 가정하면 간단히 사용할 수 있습니다cut
$ cut -d' ' -f 1,9 yourfile
2020-05-28 950-09050294592-FACE.jpg
2020-05-28 950-09050294592-SIGNATURE.jpg
다른 행이 있는 경우 다음을 사용하여 필터링할 수 있습니다.egrep
$ grep 'jpg[[:blank:]]*$' yourfile | cut -d' ' -f 1,9
$ grep -E 'Pulled .+jpg[[:blank:]]*$' yourfile | cut -d' ' -f 1,9
줄 끝 과 실제 줄 끝 사이에 공백이 있더라도 [[:blank:]]*$
줄 끝 과 일치합니다 .jpg
또는 물론 awk
다른 답변에 표시된 방법을 사용하십시오.