как я могу извлечь несколько gzip файлов в каталоге и подкаталогах?

Я попробовал обоих gzip и gunzip команды, но я добираюсь также

gunzip *.gz 
gzip: invalid option -- 'Y' 

gunzip -S-1800-01-01-000000-g01.h5.gz  
gzip: compressed data not read
 from a terminal. Use -f to force decompression. For help, type: gzip -h

Если я пробую -f опция требуется очень долгое время для работы над одним единственным файлом и командой, не выполняется успешно. Я пропускаю что-то?

10
задан 3 November 2015 в 06:01

3 ответа

Можно использовать ниже команды.

Переходят к каталогу, где Ваш .gz файл и команда выполнения:

for f in *.gz ; do gunzip -c "$f" > /home/$USER/"${f%.*}" ; done

Это извлечет весь файл с настоящим именем и сохранит его к текущему пользовательскому корневому каталогу (/home/username). Можно изменить его на где-то в другом месте.

РЕДАКТИРОВАНИЕ:

gunzip *.gz

Эта команда также будет работать. Но по умолчанию это заменяет исходный файл.

15
ответ дан 23 November 2019 в 04:24

Опция № 1 : разархивируйте несколько файлов с помощью одинарной кавычки (короткая версия)

gunzip '*.gz'

Примечание, что *.gz слово помещается промежуточные две одинарных кавычки, так, чтобы оболочка не распознавала его как подстановочный символ.

Опция № 2 : разархивируйте несколько файлов с помощью оболочки для цикла (долгая версия)

for g in *.gz; do gunzip $g; done

Источник

РЕДАКТИРОВАНИЕ:

я только что попробовал:

gunzip -dk *.gz

и это работало.

-d для распаковки и k для хранения исходных файлов.

3
ответ дан 23 November 2019 в 04:24

Пользователи Linux:

Использование следующая команда для извлечения минимального количества .gz файлов в текущем каталоге и его подкаталогах

gunzip *.gz

Использование следующая команда для извлечения любого количества .gz файлов в текущем каталоге и его подкаталогах

sudo find . -name "*.gz" | xargs gunzip
0
ответ дан 23 November 2019 в 04:24

Другие вопросы по тегам:

Похожие вопросы: