首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在bash中迭代压缩10个文件的过程

在bash中迭代压缩10个文件的过程
EN

Stack Overflow用户
提问于 2013-03-04 07:59:26
回答 1查看 78关注 0票数 0

嗨,我想知道是否有人可以帮助我的编码,在理论上我知道如何手动使用基本命令,但为了节省时间和使其更有效,我想使用.sh脚本来手动做,因为我可能会使用大量的数据。

所以我的想法是我有10个文件,从file_1.txt到file_10.txt,我想把file_1当作一种“训练”文件。因此将file_2附加到file_1,然后使用gzip压缩并保存到其他地方,我想它应该是这样的……

代码语言:javascript
运行
复制
cat file_1.txt file_2.txt | gzip -c > newfile.gz

但下一步是对file_3执行相同的操作,将file_1压缩为新文件,然后将file_4压缩为file_1,依此类推(你明白了吧)。

一旦它通过_2运行到带有file_1的_10,我想对file_2做同样的事情,分别附加1,3,4,5,6,7,8和10,并压缩等。

因此,在最后我应该有90个独立的zip文件。(包括每个单独压缩的文件,例如file_1.gz、file_2.gz等,作为比较我附加的文件的参考)。

提前感谢您的任何提示或帮助。

附注:提供的任何代码是否真的有效都无关紧要,例如,一个接一个地拆分成10个不同的循环,如果它是清楚的,那么就很好。我只是在分析结果,而不是使用每个say的代码。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-04 08:27:34

使用循环:

代码语言:javascript
运行
复制
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的创建留给读者作为练习。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15192467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档