使用通配符提取tar归档文件中的特定文件


18

我正在尝试创建一个脚本,以从包含多种文件的档案中仅提取jpeg图片。

为此,我尝试使用:

   tar -xf MyTar.tar *.jpg

但是它失败了(找不到* .jpg),建议我使用“-通配符”。所以我尝试了

tar -xf MyTar.tar --wildcard *.jpg

我这样做了,但是随后出现了同样的错误和不同的警告,告诉我选项“ --wildcard”不明确。

我浏览过tar的手册页,但没有找到有关此问题的线索。


哪个tar和哪个版本?贴上tar --version
smci

Answers:



3

像这样在通配符周围加上引号,"*.jpg"以便外壳程序不会尝试扩展它,而是将其直接传递到tar。您希望tar评估通配符,而不是shell和引号来评估通配符。


0

对于某些较旧的tar版本,以下内容是从“ man”文件中提取

文件名替换通配符不能用于从存档中提取文件。而是使用以下形式的命令:

tar xvf ... /dev/rmt/0 `tar tf ... /dev/rmt/0 | grep 'pattern' `
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.