Я пытаюсь сжать ряд файлов в каталоге, но также распечатать содержимое сжатых файлов в stdout.Как gzip файл, а также печать сжатого содержимого в stdout
Учитывая, что у меня есть:
09:00 /tmp/file1.txt
10:00 /tmp/file2.txt
11:00 /tmp/file3.txt
Я в основном ищу выполнить gzip -c /tmp/file?.txt > /tmp/compressed.gz
, но я также хочу, чтобы файлы были сжаты с сохранением исходной метки:
09:00 /tmp/file1.txt.gz
10:00 /tmp/file2.txt.gz
11:00 /tmp/file3.txt.gz
12:00 /tmp/compressed.gz
есть любым способом сделать это с одной командой и без:
for i in $(ls /tmp/file?.txt)
do
gzip ${i} && cat ${i}.gz >> /tmp/compressed.gz
done
Я бы хотел ike для сжатия и записи на диск один раз и не хотите ударять диск для чтения снова.
Вы можете написать файл и stdout с помощью 'gzip .. | tee file.gz', и вы можете установить метки времени с помощью 'touch'. –
gzip работает с одним входным файлом, поэтому вам нужно использовать что-то вроде tar, чтобы сделать архив первым. Или просто используйте zip. – Marichyasana