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