gzip: stdin: не в формате gzip, когда gunzip используется с каналом

gzip: stdin: не в формате gzip, когда gunzip используется с каналом

Я распаковываю файл следующим образом:

файл gunzip.gz

Но когда я делаю это с помощью pipe, возвращается ошибка.

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простое выполнение тоже помогает.

Связанный контент