
Я распаковываю файл следующим образом:
файл 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
простое выполнение тоже помогает.