Мне было интересно, можно ли (и, конечно, как) сказать, tar
извлекать несколько файлов за один прогон.
Я опытный пользователь Unix в течение нескольких лет и, конечно, я знаю, что вы можете использовать for
или find
или что-то подобное, чтобы вызывать tar
один раз для каждого архива, который вы хотите извлечь, но я не смог придумать рабочую командную строку, которая вызывала мой tar
извлечь два файла .tar.gz одновременно. (И нет, в этом нет ничего плохого for
, я просто спрашиваю, можно ли обойтись без него.)
Я задаю этот вопрос скорее из любопытства, может быть
- есть странная развилка
tar
где-то, которая поддерживает это - кто-то знает, как использовать
-M
параметр, которыйtar
предложил мне, когда я пыталсяtar -zxv -f a.tgz -f b.tgz
- мы все слепы, и это совершенно легко сделать - но я не смог найти в Интернете ни одного намека, который бы не использовал
for
илиfind
илиxargs
и тому подобное.
Пожалуйста, не отвечайте с tar -zxvf *.tar.gz
(потому что это не работает), и отвечайте только «не работает», если вы абсолютно уверены в этом (и, возможно, у вас есть хорошее объяснение, почему тоже).
Изменить: мне было указано на ответ на этот вопрос о переполнении стека, который очень подробно говорит, что это невозможно без нарушения текущего tar
синтаксиса, но я не думаю, что это правда. Использование tar -zxv -f a.tgz -f b.tgz
или tar -zxv --all-args-are-archives *.tar.gz
не нарушит существующий синтаксис, imho.
-M
параметром.