我对bash脚本还很陌生,我一直在这里用stackoverflow搜索一个答案,该答案将与我正在寻找的内容相匹配,但找不到确切的匹配结果。
我有多个包含多个压缩文件的文件夹,有些是gzip扩展名,有些没有扩展名。
我能够查看压缩文件内容的唯一方法是进行
zcat filename.gzip > filename
我的目标是创建一个for循环:
谢谢!
答案 0 :(得分:0)
要解压缩gzip
将使用find
,basename
和while
循环处理的所有文件:
find . -type f | while read f; do
set -e # You should probably always script with set -e
# This will cause the subshell to stop on errors.
zcat < "$f" > "$f-new" || continue
rm "$f"
done
这也应该处理出现的任何奇怪的报价。 while
循环将在子shell中运行,而set -e
将在其中设置错误停止选项,以便如果zcat
或rm
出现错误,不会继续努力,摧毁视线中的一切。