2017-02-23 66 views
1

我需要创建一堆用于测试的.gz文件。是否有可能(在基于Unix的shell中)使用简单的单行(沿着:touch file1 | zip)制作一个空文件(例如:touch file1)和zip(例如file1.gz)。我如何将文件重定向到zip?linux:在一个命令中触摸空文件和zip

+0

'gzip < /dev/null > file.gz'? – Biffen

+0

作品! -/dev/null在这里做什么? – user3375672

+1

只需一个简单的方法,即可将“无”送入gzip的STDIN。你可以使用':| gzip','echo -n | gzip“或许多不同的方式。 – Biffen

回答

1
gzip </dev/null> file.gz 

即输入gzip空输入并将输出重定向到file.gz。没有临时空文件需要。

这假定有一个/dev/null可用(即一个POSIX(系统))。替代品将是:

:   | gzip […] 
true  | gzip […] 
printf '' | gzip […] 
echo -n | gzip […] # Won't work in strictly POSIX environments 
… 

即使任何可用的东西并且不向STDOUT打印任何东西。


你提到zip,但因为你说你需要.gz文件,我想,你希望gzip

1

例如:

touch file1 && zip file1.zip file1