คำสั่ง awk หลายคำติดต่อกัน


0

ฉันใช้คำสั่ง awk เพื่อแยกข้อมูลบางส่วน ประเด็นก็คือฉันต้องใช้คำสั่ง awk หลายครั้งเพื่อแยกข้อมูลทั้งหมดที่ฉันต้องการและทุกครั้งที่ฉันใช้ awk ฉันต้องสร้างไฟล์ชั่วคราว โครงสร้างของฉันมีลักษณะดังนี้:

awk script1 output.txt > temp1.txt
awk script2 temp1.txt > temp2.txt
awk script3 temp2.txt > Final_output.txt
rm temp1.txt temp2.txt

มีวิธีกำจัดไฟล์ชั่วคราวหรือไม่? การเรียกใช้งานหลายคำสั่งอย่างต่อเนื่อง?


1
มีเหตุผลใดบ้างที่คุณไม่สามารถใช้ท่อได้? |
Hennes

1
ไม่มีเหตุผล. ฉันใหม่ใน Linux และฉันไม่รู้ว่าเป็นไปได้ ;-) ท่อกำลังทำงานคุณช่วยฉันได้มากขอบคุณ!
ลูคัส

2
คุณอาจจะไปต่อและรวมสคริปต์ awk ในหนึ่งเดียว
jlliagre

คุณอาจจะไปต่อและยอมรับคำตอบที่โพสต์ในระหว่างนี้ สิ่งที่ดีที่สุดคือการได้เชิญ @Hennes ให้ผลิตคำตอบจากความคิดเห็นของเขาเพื่อให้คุณสามารถยอมรับได้ ด้วยวิธีนี้ทุกคนจะรู้ว่าคำถามของคุณได้รับคำตอบอย่างน่าพอใจ
simlev

คำตอบ:


1

ตัวอย่างของคุณสามารถดำเนินการได้โดยใช้:

awk script1 output.txt | awk script2 | awk script3 > Final_output.txt

หากคุณสามารถรวมสคริปต์ (ขึ้นอยู่กับสิ่งที่คุณจะทำจริง ๆ ) บรรทัดก็ยิ่งสั้นลง:

awk script123 output.txt > Final_output.txt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.