繁体   English   中英

通过bash中的10个文件进行迭代压缩过程

[英]Iterative zipping process through 10 files in bash

嗨,我想知道是否有人可以帮助我的编码,理论上我知道如何使用基本命令手动进行编码,但是为了节省时间并提高效率,我想使用.sh脚本手动进行编码使用大量数据。

因此,我的想法是我有10个文件,这些文件将被命名为file_1.txt到file_10.txt,并且我想将file_1视为一种“培训”文件。 因此,将file_2附加到file_1,然后使用gzip压缩并保存到其他位置,我想它看起来像这样……

cat file_1.txt file_2.txt | gzip -c > newfile.gz

但是下一步是对file_3到file_1进行压缩并压缩为新文件,然后对file_4到file_1进行压缩,以此类推(您明白了)。

一旦它与file_1一起经过_2到_10,我想对file_2进行同样的操作,并分别附加1,3,4,5,6,7,8和10并分别添加zip等

因此,最后我应该有90个单独的zip文件。 (包括每个文件本身的压缩文件,即file_1.gz,file_2.gz等,作为将我的附加文件与之进行比较的参考)。

在此先感谢您提供任何提示或帮助。

ps所提供的代码是否真的有效并不重要,例如,一个接一个地分成10个不同的循环,如果很清楚就可以了。 我仅分析结果,而不使用每个代码。 谢谢!

使用循环:

for i in {1..10} ; do
    for j in {1..10} ; do
        if (( i != j )) ; then
            cat file_$i.txt file_$j.txt | gzip -c > newfile-$i-$j.gz
        fi
    done
done

这将创建90个gzip文件,但不包括单独压缩的每个文件。 剩下的10个gzip的创建作为练习留给读者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM