2013-06-11 1 views
4

Я совершенно новый для мира bash, и сейчас я работаю над скриптом, который будет проходить через большой каталог и извлекать любые .tar-файлы, которые он находит в это текущее местоположение.Извлечение файла .tar в текущий каталог автоматически с помощью скрипта оболочки

Я использую следующий скрипт:

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

В настоящее время файл извлечения хорошо, но извлекая к месту моего сценария. Мне нужно его извлечь из текущего каталога .tar.

Решение, вероятно, очень простое, но я не могу понять его жизнь. Спасибо!

ответ

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 
+0

отлично работает. Не думал использовать dirname. Спасибо! –