从多个档案中提取文件并合并/附加它们



有任何方法可以提取tar.gz档案,而不是覆盖提取的文件?

Apache日志的拆分方式如下:2022年4月.tar.gz2022年4月。tar.gz.1等2022年4月11日

每个存档文件都包含domain.log

domain.error.log如何在提取后实现这一点,将有domain.logdomain.error.log,每个档案中都有数据块。

原生Unix tar和gunzip并没有附加选项,而是覆盖/跳过文件。

编辑:这是gnu-tar特定的,而不是"本地unix tar";

假设档案中有一个文件,并且每个档案中的文件名都相同,那么下面的文件将连接到同一个文件。

tar -xvzf Apr-2022.tar.gz --to-command='cat - >>$TAR_FILENAME'
tar -xvzf Apr-2022.tar.gz.1 --to-command='cat - >>$TAR_FILENAME'
...
...
tar -xvzf Apr-2022.tar.gz.11 --to-command='cat - >>$TAR_FILENAME'

tar命令在启动--to命令选项中给出的命令之前设置几个tar_*环境变量。在这种情况下,您可以使用TAR_FILENAME或TAR_REALNAME

或者使用自己的文件名,在这种情况下,档案中的文件名是否不同也没关系。

最新更新