列出多个.tar归档文件的内容

4
要列出一个 .tar 归档文件的内容,我使用以下命令:
tar -tvf archive.tar

我希望你能够使用类似的格式来列出更多文件的内容,但是

tar -tvf *.tar

我预期的效果没有达到。
列出多个 .tar 压缩文件内容的最佳单行解决方案是什么?
2个回答

9
这对您有帮助吗?
for f in *.tar 
do 
    echo "content of $f:"
    tar tvf "$f"
done

1
@Ωmega 这是你能得到的最好答案了。加上一些分号,它就可以放在一行上了。tar 不会在单次运行中处理多个存档文件。我想不出任何一个可以在没有 shell 循环的情况下完成相同操作的存档工具 - arunzipunrarcpiopax...所有这些工具都只能在每次调用时处理一个存档文件,就像 tar 一样。这不是一个错误,而且 shell 循环也不是一个解决方法。命令行中存在循环命令是因为有时候循环非常有用,而这正是其中之一。 - user2404501

2

按要求的一行代码

find . -type f -name "*.tar" | xargs -n 1 -i bash -c "echo {}; tar tvf {}; echo" | less

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接