Hapus kompresi dan pipa output ke skrip

14

Saya memiliki skrip yang mengambil input dengan -ibendera. File input yang saya miliki dikompresi (.gz). Apa yang ingin saya lakukan (tidak yakin itu mungkin), karena file tersebut sangat besar, lakukan beberapa hal seperti ini:

gunzip -c myfile.gz | myScript.pl -i STDIN -o myoutfile.txt 

Jadi pipa output dekompresi ke flag input skrip saya.

crysis405
sumber
Dan pertanyaan Anda?
Seth
perintah yang saya tulis tidak berfungsi, saya menginginkan sesuatu yang akan
crysis405
baik Anda memiliki ruang antara mydan script. Jika Anda menggunakan -opertama dan kemudian -iitu akan berhasil (menghapus STDIN)
Seth
maaf tentang ruang, yang seharusnya tidak ada di sana. Skrip sekarang memberi saya kesalahan karena saya belum memberikan input. Apakah ini harus secara khusus ditentukan dalam skrip perl, jika Anda ingin melakukan pemipaan seperti ini?
crysis405
Belum pernah melakukan perl, jadi saya tidak bisa mengatakannya.
Seth

Jawaban:

19

Saya menemukan solusinya:

gunzip -c myfile.gz | myScript.pl -o myoutfile.txt -i -

itu -setelah -iyang melakukan trik.

crysis405
sumber
1
Bagi pembaca lain, -cuntuk "stdout"
mpen