如何分别 zgrep 然后 gzip 多个文件?

如何分别 zgrep 然后 gzip 多个文件?

我有以下代码,它file1.json.gz, file2.json.gz, etc etc使用 zgrep 在多个文件 ( ) 中搜索术语,然后使用 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 后缀,替换为你想要的。

相关内容