Мне было интересно, можно ли (и, конечно, как) сказать, 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параметром.