将所有的tar.bz2文件提取到一个目录中。

5

我有一个目录里面有许多tar.bz2文件,想要将它们解压到另一个目录。

这是我的bash脚本:

for i in *.tar.bz2 do; 
sudo tar -xvjf $i.tar.bz2 -C ~/myfiles/
done

它不起作用。我该怎么办才能让它工作?谢谢!

1个回答

7
你的变量$i包含整个文件名(因为你已经应用了正则表达式*.tar.bz2)。所以在for循环内部,你不需要添加扩展名。 尝试:
for i in *.tar.bz2; do 
    sudo tar -xvjf "$i" -C ~/myfiles/
done

您还将分号; 放错了位置。

谢谢,但是“bash: syntax error near unexpected token sudo” - user3284469

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