zgrep을 수행한 다음 여러 파일을 개별적으로 gzip하는 방법은 무엇입니까?

zgrep을 수행한 다음 여러 파일을 개별적으로 gzip하는 방법은 무엇입니까?

file1.json.gz, file2.json.gz, etc etczgrep을 사용하여 여러 파일()에서 용어를 검색한 다음 gzip을 사용하여 출력을 단일 파일에 저장하는 다음 코드가 있습니다 .

zgrep -i 'help' /input/path/*.json.gz | gzip > /output/path/help_file.json.gz

/input/path/이것은 훌륭하게 작동하지만, 파일이 개별적으로 처리되도록 변경할 수 있습니까? 즉, file1.json.gz가 됩니다 file1_filtered.json.gz.

감사해요!

답변1

예, 하지만 약간의 스크립트가 있습니다.

for f in /input/path/*.json.gz
do
  zgrep -i 'help' "$f" > "/output/path/$(basename "$f" .json.gz)_filtered.json.gz"
done

여기에서 basename경로와 .json.gz 접미사를 제거하고 원하는 것으로 바꿉니다.

관련 정보