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

Я хочу найти 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, пожалуйста, помогите мне. Спасибо.

  • Упаковка с смолой
  • Эффективный метод архивирования для многих дубликатов файлов
  • распаковать / распаковать файлы с помощью Curl на ftp-сервере
  • Скрипты многотомных (GNU) `tar` с заранее определенным количеством томов
  • Проверка вывода для конкретных расширений в выражении if
  • как создать много tar-архивов для огромной папки
  • Использование tar в файле с символом @ (при символе)
  • Удалите дроссельную катушку из cron email
  • 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

    XTerm не закрывается с использованием опции -e

    Как установить Tomcat Server на Linux Mint 17.1?

    Есть ли альтернатива эхо-демон для отображения ip?

    Монетный двор 17.3: ваш сеанс длится менее 10 секунд

    Как встроенный exec bash работает внутри?

    Понимание прав на домашнюю папку

    Пароль Samba должен быть изменен после первого входа в систему

    Сделать бесплатный запрос FreeRDP для имени пользователя и пароля?

    использование параллельных процессов для ввода уникальных входных файлов в уникальные выходные файлы

    RT3290 Wireless все еще не работает

    Как обрабатывать Linux RAID0 и Windows с чередованием динамических томов на одном и том же жестком диске?

    Экран разбивается на два после установки Debian 9

    Как создать виртуальный вывод в PulseAudio?

    Как использовать инструмент diff, чтобы получить разницу между каталогами с библиотеками и источником?

    Слишком много сенсорных панелей распознано: сенсорная панель не работает

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