Gunzip 文件目录以及管道输出 Linux

Gunzip 文件目录以及管道输出 Linux

我想用 gunzip 压缩一个充满压缩文件的目录,并将输出(保留原始文件)传输到另一个目录。我需要原始名称保持不变。所以...

gunzip -c *.gz > file/path/filename 

# Search for all .gz in current directory and redirect output here. How do I grab the name of the file found using the wildcard?

感谢您的帮助

更新:最终脚本如下

FILES= /foo/bar/*.gz
for gz in $FILES; do
echo "unzipping $gz..." 1>&2
fn=$(basename $gz .gz)
gunzip -c $gz > /new/foobar/$fn
done

答案1

您可能希望使用 shell 脚本:

for f in *.gz
do
    zcat "$f" > "other/folder/$(basename "$f" ".gz")"
done

答案2

使用 GNU Parallel 您可以执行以下操作:

parallel gunzip -c {} '>' /new/foobar/{/.} ::: /foo/bar/*.gz

GNU Parallel 的安装仅需 10 秒钟:

wget pi.dk/3 -qO - | sh -x

观看介绍视频以了解更多信息:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

相关内容