นี่คือรายการหน้าคนสำหรับ-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ไม่ได้ปราบปรามการพิมพ์ของสายการแยกวิเคราะห์ทุกแต่ยับยั้งการพิมพ์ของเส้นที่ไม่ได้เปลี่ยน ฉันมีปัญหาในการพูดคุยทั่วไปเมื่อพฤติกรรมจะเป็นอย่างใดอย่างหนึ่ง