Gunzip 文件范围

Gunzip 文件范围

我正在从一台服务器到另一台服务器运行 .gz 文件的长副本。同时,我想解压已经复制的文件。例如,a以 开头的 al 文件名 到 以 . 开头的文件名c

我怎样才能做到这一点?

答案1

最简单的方法是使用 shell。假设有一个相对现代的 shell(例如 bash),你可以这样做

gunzip [a-c]*gz

答案2

你的意思是

for file in [a-c]*.gz; do gunzip "$file"; done

甚至gunzip [a-c]*.gz(感谢@terdon 的提醒)。

如果您这样做只是为了减少网络流量,那么压缩连接流会更有意义,或者更好的是,使用rsync.

答案3

您可以安全地解压缩已完全复制的所有文件。所以任务是确定哪些文件是完整的。

我们假设在复制开始之前该目录是空的,并且解压缩的文件被写入到另一个目录中。确定哪些文件已准备好解压缩的一种可能性是等待下一个文件。

如果这对您来说是一种相关的方法,那么我可以为此提供一些代码。

相关内容