我对bash世界完全陌生,我正在开发一个脚本,它将循环遍历一个大目录并将它找到的任何.tar文件提取到它的当前位置。
我正在使用以下脚本:
for a in in /home/davidwright/attachments/*/*.tar
do
echo "extracting $x"
tar -xvf $x
done
目前该文件正在提取正常,但它正在解压缩到我的脚本的位置。我需要它在.tar的当前目录中提取。
解决方案可能非常简单,但我无法理解我的生活。 谢谢!
答案 0 :(得分:4)
您可以尝试:
-C, --directory DIR
change to directory DIR
和$(dirname "$x")
用于文件目录
for x in in /home/davidwright/attachments/*/*.tar
do
echo "extracting $x"
tar -xvf "$x" -C "$(dirname "$x")"
done