2017-02-23 3 views
1

何かをテストするために.gzファイルをたくさん作成する必要があります。シンプルな1ライナー(:touch file1 | zip)を使用して空ファイル(例:touch file1)とzip(例えばfile1.gz)を作ることは、UNIXベースのシェルで可能ですか?ファイルをzipにリダイレクトするにはどうすればよいですか?例えばlinux:空のファイルに触れ、一つのコマンドで圧縮する

+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(-ish)システム)が利用可能であることを前提としています。代替手段は、

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

です。 STDOUTには何も印刷されません。


あなたはzipを述べていますが、私はあなたがgzipをしたいと仮定し.gzファイルを必要とするので。

1

:即ち

touch file1 && zip file1.zip file1 
関連する問題