Pengalihan Gunzip: "Tidak ada file atau direktori seperti itu"


1

Ketika saya mengeluarkan perintah berikut:

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

Saya mendapatkan stderr berikut:

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

Saya telah memverifikasi bahwa file input dan direktori output / disk1 / hadoop / gunzip_tmp ada. Saya pikir >> akan membuat file jika belum ada. Apa yang saya lakukan salah?

Jawaban:


1

Anda perlu menambahkan spasi di sekitar >> Anda. Shell Anda mengira Anda memiliki satu nama file yang sangat panjang /disk1/hadoop/gunzip_tmp/in/part-00006.gz>>/disk1/hadoop/gunzip_tmp/outfile.000dan tidak melihat >> atau nama file yang kedua.

Anda harus menulis:

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

Perhatikan ruang di sekitarnya >>


Itu bekerja dari baris perintah, tetapi gagal sebagai skrip. Baris perintah berikut: UZPCMD = "gunzip -c" $ TMPDIR "/ in /" $ FILEONLY ">>" $ TMPDIR "/outfile.000" echo $ TMPDIR echo $ FILEONLY echo $ UZPCMD menghasilkan output berikut - perintah gunzip baris terlihat sebagaimana mestinya: / disk1 / hadoop / gunzip_tmp bagian-00006.gz gunzip -c /disk1/hadoop/gunzip_tmp/in/part-00006.gz >> /disk1/hadoop/gunzip_tmp/outfile.000 Namun, mengeluarkan baris perintah dari skrip: $ UZPCMD mengirimkan baris demi baris file yang tidak di-zip ke stdout (seolah-olah redirect diabaikan).
MarkP

@ MarkP Lalu itu pertanyaan yang berbeda dari yang Anda tanyakan. Harap tutup pertanyaan dan tanyakan yang baru, di mana Anda dapat memformat skrip dengan benar.
Rich Homolka

Selain menerima jawaban, adakah yang harus saya lakukan untuk menutup pertanyaan?
MarkP

@MarkP tidak juga, hanya membuat pertanyaan baru, dengan masalah baru Anda.
Rich Homolka
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.