Gunzip каталог файлов и каналов вывода Linux

1797
KennyC

Я хотел бы сжать каталог, полный сжатых файлов, и направить вывод (сохраняя исходные файлы) в другой каталог. Мне нужны оригинальные имена, чтобы остаться прежним. Так...

gunzip -c *.gz > file/path/filename 

# Search for all .gz in current directory and redirect output here. How do I grab the name of the file found using the wildcard?

Спасибо за помощь

Обновление: финальный скрипт ниже

FILES= /foo/bar/*.gz for gz in $FILES; do echo "unzipping $gz..." 1>&2 fn=$(basename $gz .gz) gunzip -c $gz > /new/foobar/$fn done 
1
Какое это имеет отношение к Python? Кроме того, что вы подразумеваете под «сохранением исходных файлов»? Blender 10 лет назад 0
Извинения; просто написание python, это было на уме. Под сохранением исходных файлов я подразумеваю, что gunzip обычно удаляет сжатый файл и выводит несжатый файл (отсюда и флаг -c) 10 лет назад 0

2 ответа на вопрос

1
Blender

You may want to use a shell script instead:

for f in *.gz do zcat "$f" > "other/folder/$(basename "$f" ".gz")" done 
0
Ole Tange

With GNU Parallel you can do:

parallel gunzip -c {} '>' /new/foobar/{/.} ::: /foo/bar/*.gz 

GNU Parallel takes literally 10 seconds to install:

wget pi.dk/3 -qO - | sh -x 

Watch the intro videos to learn more: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Установлен GNU Parallel, но я получаю эту ошибку; `parallel: Предупреждение: вход считывается с терминала. Только эксперты делают это нарочно. Нажмите CTRL-D для выхода. Это проблема синтаксиса? Можете ли вы дать представление об отредактированном сценарии в вопросе? KennyC 10 лет назад 0
Вывести вывод «Parallels - версия». Если вы не установили, как указано выше, вы можете получить доступ по адресу http://stackoverflow.com/questions/16448887/gnu-parallel-not-working-at-all Ole Tange 10 лет назад 0
Устанавливается как указано выше; нет упоминания о толлефе `GNU параллельно 20130622` KennyC 10 лет назад 0
Если он работает с «--gnu», то у вас где-то есть «--tollef». Ole Tange 10 лет назад 0

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