คลายการบีบอัดและไพพ์เอาต์พุตไปยังสคริปต์


14

ฉันมีสคริปต์ที่ใช้อินพุตพร้อม-iแฟล็ก ไฟล์อินพุตที่ฉันมีถูกบีบอัด (.gz) สิ่งที่ฉันต้องการทำ (ไม่แน่ใจว่าเป็นไปได้) เนื่องจากไฟล์มีขนาดใหญ่ให้ทำสิ่งนี้:

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

ดังนั้นไพพ์เอาท์พุทของการบีบอัดไปยังแฟล็กอินพุตสคริปต์ของฉัน


และคำถามของคุณคือ?
เซท

คำสั่งที่ฉันเขียนไม่ทำงานฉันต้องการสิ่งที่จะ
crysis405

ดีที่คุณมีพื้นที่ระหว่างและmy scriptถ้าคุณใช้-oก่อนแล้ว-iมันจะทำงาน (ลบSTDIN)
เซท

ขอโทษเกี่ยวกับพื้นที่ที่ไม่ควรมี สคริปต์กำลังให้ข้อผิดพลาดที่ฉันไม่ได้ให้อินพุต สิ่งนี้จะต้องมีการระบุไว้เป็นพิเศษในสคริปต์ perl หรือไม่หากคุณต้องการทำ piping เช่นนี้
crysis405

ไม่เคยทำ Perl ดังนั้นฉันจึงไม่สามารถพูดได้
เซท

คำตอบ:


19

ฉันพบวิธีแก้ปัญหา:

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

มันเป็น-หลังจาก-iนั้นก็หลอกลวง


1
สำหรับผู้อ่านอื่น ๆ-cมีไว้สำหรับ "to stdout"
mpen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.