Переадресация Gunzip: «Нет такого файла или каталога»

3792
MarkP

Когда я выдаю следующую команду:

gunzip -c /disk1/hadoop/gunzip_tmp/in/part-00006.gz>>/disk1/hadoop/gunzip_tmp/outfile.000 

Я получаю следующий stderr:

gunzip: /disk1/hadoop/gunzip_tmp/in/part-00006.gz>>/disk1/hadoop/gunzip_tmp/outfile.000.gz: No such file or directory 

Я проверил, что входной файл и выходной каталог / disk1 / hadoop / gunzip_tmp существуют. Я думал >> создаст файл, если он еще не существует. Что я делаю неправильно?

1

1 ответ на вопрос

1
Rich Homolka

Вы должны добавить пробелы вокруг вашего >>. Ваша оболочка считает, что у вас одно действительно длинное имя файла /disk1/hadoop/gunzip_tmp/in/part-00006.gz>>/disk1/hadoop/gunzip_tmp/outfile.000и не видит >> или второе имя файла.

Вы должны написать:

gunzip -c /disk1/hadoop/gunzip_tmp/in/part-00006.gz >> /disk1/hadoop/gunzip_tmp/outfile.000 

Обратите внимание на пространство вокруг >>

Это работает из командной строки, но не работает как скрипт. Следующие командные строки: UZPCMD = "gunzip -c" $ TMPDIR "/ in /" $ FILEONLY ">>" $ TMPDIR "/outfile.000" echo $ TMPDIR echo $ FILEONLY echo $ UZPCMD выдает следующий вывод - команда gunzip строка выглядит следующим образом: / disk1 / hadoop / gunzip_tmp part-00006.gz gunzip -c /disk1/hadoop/gunzip_tmp/in/part-00006.gz >> /disk1/hadoop/gunzip_tmp/outfile.000 Однако, выдача командная строка из сценария: $ UZPCMD отправляет строку за строкой разархивированного файла на стандартный вывод (как если бы перенаправление было проигнорировано). MarkP 12 лет назад 0
@MarkP Тогда это другой вопрос, чем тот, который вы задали. Пожалуйста, закройте вопрос и задайте новый, где вы можете правильно отформатировать скрипт. Rich Homolka 12 лет назад 0
Помимо принятия ответа, нужно ли что-то делать, чтобы закрыть вопрос? MarkP 12 лет назад 0
@MarkP не совсем, просто создайте новый вопрос, с вашей новой проблемой. Rich Homolka 12 лет назад 0

Похожие вопросы