使用Shell脚本自动将.tar文件解压缩到当前目录

时间:2013-06-11 12:23:44

标签: bash shell loops extract tar

我对bash世界完全陌生,我正在开发一个脚本,它将循环遍历一个大目录并将它找到的任何.tar文件提取到它的当前位置。

我正在使用以下脚本:

for a in in /home/davidwright/attachments/*/*.tar
do
  echo "extracting $x"
  tar -xvf $x
done

目前该文件正在提取正常,但它正在解压缩到我的脚本的位置。我需要它在.tar的当前目录中提取。

解决方案可能非常简单,但我无法理解我的生活。 谢谢!

1 个答案:

答案 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