Найдите архив и извлеките его в каталог, где он находится

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

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

Я совершенно новичок в Unix, пожалуйста, помогите мне. Спасибо.

  • scp изменение разрешений в каталоге / tmp
  • `sudo tar`, но имеет полученный файл
  • Тар большие файлы в разных каталогах
  • Почему tar --exclude = ". *" Создает пустой архив?
  • Тар, ожидающий долгое время на конце блочного устройства
  • Может ли `tar -list -v` указать размер файла в формате для чтения?
  • Просмотр содержимого .tar
  • деформировать, но сохранить -v подробный вывод отдельно от STDERR
  • 2 Solutions collect form web for “Найдите архив и извлеките его в каталог, где он находится”

    Это может помочь

     find ./ -name '*.tar' -exec sh -c 'dir=$(dirname "$0"); tar -xvf "${0}" -C "${dir}"; done' {} \; 

    Из страницы man tar

     -C, --directory DIR change to directory DIR 

    Сначала найдете:

    Чтобы найти все tar-файлы в каталоге, вам нужно find $directory -iname "*.tar" Примечание: -iname является расширением gnu, поэтому, если вы не используете gnu, вам нужно будет сделать -name *.tar -o -name *.TAR это почти эквивалентно.

    Теперь добавим вашу рабочую команду tar:

    find $directory -iname "*.tar" -print0 | xargs -0 --max-args=1 tar xf

    Это извлечет все tar-файлы в текущий рабочий каталог.

    Interesting Posts

    Является ли наложение псевдослучайной команды на ядро?

    lsof не возвращает файлы, открытые одним и тем же пользователем

    Ubuntu Как переустановить загрузчик

    Сценарий оболочки для преобразования PDF в изображения и сохранения в подпапке

    Моя Fedora 13 вылетает несколько раз в день

    Как получить Gluon SceneBuilder, работающий с Fedora 25?

    Установочный компакт-диск Remount Arch Linux для загрузки некоторых дополнительных пакетов

    Файлы журналов, поврежденные символами NUL и текстом из других процессов

    Почему awk печатает всю строку, когда я хочу, чтобы она печатала переменную?

    pnmixer не работает после установки pavucontrol

    Почему в моих журналах sshd много попыток на недопустимых портах?

    прослушиватель событий ядра

    Как вы можете вставлять рисунки с разным размером?

    Скопировать выделение в буфер обмена в tmux

    Как запустить программу, перенаправить ее вывод и отобразить вывод на экране?

    Linux и Unix - лучшая ОС в мире.