Przekierowanie Gunzip: „Brak takiego pliku lub katalogu”


1

Po wydaniu następującego polecenia:

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

Dostaję następujący stderr:

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

Sprawdziłem, czy plik wejściowy i katalog wyjściowy / disk1 / hadoop / gunzip_tmp istnieją. Myślałem, że >> utworzy plik, jeśli jeszcze nie istnieje. Co ja robię źle?

Odpowiedzi:


1

Musisz dodać spacje wokół swojego >>. Twoja powłoka myśli, że masz jedną naprawdę długą nazwę pliku /disk1/hadoop/gunzip_tmp/in/part-00006.gz>>/disk1/hadoop/gunzip_tmp/outfile.000i nie widzi >> ani drugiej nazwy pliku.

powinieneś napisać:

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

Zwróć uwagę na miejsca wokół >>


Działa to z wiersza poleceń, ale kończy się niepowodzeniem jako skrypt. Następujące wiersze poleceń: UZPCMD = "gunzip -c" $ TMPDIR "/ in /" $ FILEONLY ">>" $ TMPDIR "/outfile.000" echo $ TMPDIR echo $ FILEONLY echo $ UZPCMD generuje następujące dane wyjściowe - polecenie gunzip linia wygląda tak, jak powinna: / disk1 / hadoop / gunzip_tmp part-00006.gz gunzip -c /disk1/hadoop/gunzip_tmp/in/part-00006.gz >> /disk1/hadoop/gunzip_tmp/outfile.000 Jednak wydanie wiersz polecenia ze skryptu: $ UZPCMD wysyła wiersz po wierszu rozpakowanego pliku do standardowego wyjścia (tak jakby przekierowanie było ignorowane).
MarkP

@MarkP To jest inne pytanie niż zadane. Zamknij pytanie i zadaj nowe, w którym możesz poprawnie sformatować skrypt.
Rich Homolka

Czy oprócz zaakceptowania odpowiedzi muszę coś zrobić, aby zamknąć pytanie?
MarkP

@ MarkP nie, po prostu stwórz nowe pytanie z nowym problemem.
Rich Homolka
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.