![Gunzip 文件目录以及管道输出 Linux](https://linux22.com/image/1367877/Gunzip%20%E6%96%87%E4%BB%B6%E7%9B%AE%E5%BD%95%E4%BB%A5%E5%8F%8A%E7%AE%A1%E9%81%93%E8%BE%93%E5%87%BA%20Linux.png)
我想用 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