从bash中的几个文件中删除扩展中的其他.tar.gz

pr0*_*730 1 linux bash file-extension rename

我有一个bash脚本负责每天在目录下移动和压缩一些旧的日志文件.

做一些测试我注意到脚本一次又一次地递归压缩每个压缩文件,所以现在我有一堆文件名为:$ files.log(.tar.gz*N天).

可以从所有这些文件中删除所有额外的.tar.gz吗?

小智 5

您可以使用这样的简单内联命令:

for old in *.tar.gz; do mv $old ${old%%.tar*}.tar.gz; done
Run Code Online (Sandbox Code Playgroud)

这将找到.tar.gz完成的每个文件

$ {old %%.tar*}将获取所有文件名和扩展名,直到找到第一个".tar".

然后我们再次添加.tar.gz,我们完成了工作.

希望能帮助到你.