นี่คือรายการหน้าคนสำหรับ-n
:
-n
ปราบปรามการพิมพ์พื้นที่รูปแบบอัตโนมัติ
ฉันสังเกตเห็นว่าเมื่อไม่ได้ใช้-n
สำหรับการทำงานบางอย่างแต่ละบรรทัดจะถูกพิมพ์ไปยัง stdout (และบรรทัดที่ร้องขอจะถูกพิมพ์สองครั้ง):
$ cat test.txt
first
second
third
fourth
fifth
$ sed -n '2,3p' test.txt
second
third
$ sed '2,3p' test.txt
first
second
second
third
third
fourth
fifth
อย่างไรก็ตามกฎหมายนี้ไม่ได้มีไว้สำหรับคำสั่งอื่น ๆ :
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
แล้วจะ-n
ทำอะไรกันแน่?
-n
พิมพ์ออกมาทุกบรรทัดนอกเหนือจากบรรทัดที่ร้องขอโดยเฉพาะ ดังนั้นในกรณีที่ไม่ใส่พิมพ์ของทุกสายการแยกวิเคราะห์-n
อย่างไรก็ตามในตัวอย่างที่สามและสี่พฤติกรรมนั้นแตกต่างกัน ในกรณีดังกล่าวโดยไม่ต้อง sed-n
ไม่ออกสายสองครั้งจึงใช้-n
ไม่ได้ปราบปรามการพิมพ์ของสายการแยกวิเคราะห์ทุกแต่ยับยั้งการพิมพ์ของเส้นที่ไม่ได้เปลี่ยน ฉันมีปัญหาในการพูดคุยทั่วไปเมื่อพฤติกรรมจะเป็นอย่างใดอย่างหนึ่ง