使用--to-command的TAR

标签 tar

我想为tar存档中的所有文件计算MD5。我用--to-command尝试了tar。tar -xf abc.tar --to-command='md5sum' 它输出如下。cb6bf052c851c1c30801ef27c9af1968 -f509549ab4eeaa84774a4af0231cccae -然后,我想用文件名替换“-”。tar -xf abc.tar --to-command='md5sum | sed "s#-#$TAR_FILENAME#"'它报告错误。md5sum: |: No such file or directory md5sum: sed: No such file or directory md5sum: s#-#./bin/busybox#: No such file or directory tar: 23255: Child returned status 1

最佳答案

您没有 shell ,因此无法使用(您还可能会看到|作为参数传递给md5sum)。一种方法是自己调用 shell ,但是嵌套引号会带来一些麻烦:

tar xf some.tar --to-command 'sh -c "md5sum | sed \"s|-|\$TAR_FILENAME|\""'

关于使用--to-command的TAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39243719/

相关文章:

tar - 为 ubuntu 10.04 LTS 提取 tar.xz 和 tar.lz 的 gnutls 库文件

linux - TAR命令文件扩展路径扩展

python - 在Python中创建一个lzma文件

linux - 如何检查shell命令是否正确执行?

bash - 从具有重复条目名称的 tar 文件中提取

ubuntu - 在 Ubuntu 上使用 find 和 tar 移动多个文件

linux - 根据目录确定 .tar.gz 文件大小

ubuntu - 磁带归档器和 gnuzip

c# - 如何使用 C# 重命名 .rar .7z、.tar、.zip 中的文件和文件夹

java - 提取 tar 文件