สมมติว่าฉันมีโปรแกรม:
Calculate.py
มีบรรทัดคำสั่ง unix ที่นับจำนวนบรรทัดที่เอาท์พุทจากโปรแกรมของฉันคือ Calculate.py หรือไม่?
สมมติว่าฉันมีโปรแกรม:
Calculate.py
มีบรรทัดคำสั่ง unix ที่นับจำนวนบรรทัดที่เอาท์พุทจากโปรแกรมของฉันคือ Calculate.py หรือไม่?
คำตอบ:
wc
คุณสามารถท่อส่งออกในการ คุณสามารถใช้การ-l
ตั้งค่าสถานะเพื่อนับบรรทัด เรียกใช้โปรแกรมตามปกติและใช้ไพพ์เพื่อเปลี่ยนเส้นทางwc.
python Calculate.py | wc -l
หรือคุณสามารถเปลี่ยนเส้นทางผลลัพธ์ของโปรแกรมเป็นไฟล์พูดcalc.out
และเรียกใช้wc
ไฟล์นั้น
python Calculate.py > calc.out
wc -l calc.out
wc
หากคุณต้องการเพียงแค่ท่อจำนวนบรรทัดในการทำงานอีกตอนนี้คุณต้องด้วยตนเองแยกการส่งออกของ นี่เป็นเรื่องง่าย ( cut -f1 -d' '
) แต่สิ่งนี้ไม่เป็นความจริงสำหรับทุกคำสั่ง มีบางอย่างที่จะกล่าวว่าสำหรับวิธี Powershell ในการทำให้บรรทัดคำสั่งดั้งเดิมเป็น "วัตถุ" แทนที่จะเป็นสตรีมข้อความ
object
s แทนที่จะString
ทำให้รู้สึก เมื่อถึงจุดหนึ่งฉันต้องการที่จะดำดิ่งลงไปในเครื่องมือบรรทัดคำสั่งเพิ่มเติม
การสื่อสารข้างต้น (wc -l) จะนับบรรทัดว่างเปล่าเช่นกัน ดังนั้นควรใช้คำสั่งด้านล่างที่ดีกว่าซึ่งจะลบบรรทัดว่างและนับมัน
python Calculate.py |sed '/^$/d'| awk '{print NR}'| sort -nr| sed -n '1p'