使用脚本为目录中的每个 tar 文件创建内容文件

使用脚本为目录中的每个 tar 文件创建内容文件

目前我的目录中有超过 70 个 tar 文件。为了保存每个文件的内容,我运行命令 tar -tvf file1.tar > file1_contents.txt

我想看看如何一次性处理 50 多个文件。

答案1

此示例使用 bash(或任何其他 POSIX shell);这是我的假设,因为您没有标记特定语言。切换到有问题的目录,然后:

for i in *.tar; do
  tar tvf "$i" > "${i%.tar*}_contents.txt"
done

您确实应该了解您喜欢的脚本语言中的循环;他们非常强大。附带说明一下,对于某些tar实现(例如bsdtarGNU 或最新版本)tar,这也适用于压缩的 tar 文件(tar.gz例如tar.bz2);您只需要更改*.tar以反映其他文件即可。

相关内容