Ini adalah entri halaman manual untuk -n:
-n
menekan pencetakan ruang pola secara otomatis
Saya perhatikan bahwa ketika tidak digunakan -nuntuk operasi tertentu, setiap baris dicetak ke stdout (dan baris yang diminta dicetak dua kali):
$ 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
Namun, hukum ini tidak berlaku untuk perintah lain:
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
Jadi apa yang -ndilakukan, tepatnya?
-nmencetak setiap baris di samping baris yang secara khusus diminta. Jadi dalam hal ini-nmenekan pencetakan setiap baris diurai . Namun dalam contoh ketiga dan keempat perilakunya berbeda. Dalam kasus-kasus sed tanpa-nmenghasilkan garis dua kali, sehingga menggunakan-ntidak menekan pencetakan setiap baris diuraikan tetapi lebih menekan pencetakan garis tidak berubah . Saya mengalami kesulitan menggeneralisasi ketika perilaku akan menjadi satu atau yang lain.