我试图压缩目录中的一系列文件,但也打印压缩文件的内容到标准输出。如何gzip文件,同时也打印压缩内容到标准输出
鉴于本人:
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
我会l ike压缩并写入磁盘一次,并且不想再次点击磁盘进行读取。
你可以用'gzip .. |写入文件和stdout。 tee file.gz',你可以用'touch'设置时间戳。 –
gzip适用于单个输入文件,所以您需要使用类似tar的东西来首先创建归档。或者只是使用zip。 – Marichyasana