
ファイルを次のように解凍します。
gunzip ファイル.gz
しかし、パイプで実行すると、エラーが返されます。
echo file.gz | gunzip
gzip: stdin: gzip 形式ではありません
ここで何が問題なのでしょうか? よろしくお願いします。
答え1
問題は、echo file.gz
文字列「file.gz」をエコーするだけであることです。基本的に、コマンド間の違いは次のとおりです。
あなたが欲しいもの:
gunzip /path/to/directory/file.gz
エコーで何を伝えているのか:
gunzip "file.gz"
しかし、これも完全に正しいわけではありません。本当の違いは、ファイル file.gz
送信するのは弦「ファイル.gz」
gunzip
ここでの本当の質問は、単に として使用するのではなく、なぜ にパイプしようとしているのかということですgunzip file.gz
。
echo file.gz | xargs gunzip
編集:やってみるのも効果があるようです。