tar xvf 和 * 在某些平台(如 HP-UX 或 SuSE)上失败

tar xvf 和 * 在某些平台(如 HP-UX 或 SuSE)上失败

tar xvf archive.tar *.txt在 HP-UX 和 SuSE 上失败。

如何提取*.txt与 tar 存档匹配的文件?我可以在 SuSE 上使用 --wildcards,但这在 HP-UX 上不起作用

我在 HP ia64 和 SuSE SLES 11 update 3 上使用 HP-UX 11iv2(11.23)

谢谢

答案1

tar t列出档案的内容。因此,以下操作可能有效,假设bash文件路径中没有空格:

tar xf archive.tar $( tar tf archive.tar | grep '.txt$' )

非递归:

tar xf archive.tar $( tar tf archive.tar | grep '.txt$' | grep -v / )

答案2

怎么样:

find . -name '*.txt' | xargs tar xvf archive.tar

不幸的是我没有机器来测试这个。

编辑:哎呀,我太蠢了。也许这样更好:

tar tf archive.tgz | grep '.txt$' | xargs tar xzf archive.tgz

相关内容