Ini adalah entri halaman manual untuk -n
:
-n
menekan pencetakan ruang pola secara otomatis
Saya perhatikan bahwa ketika tidak digunakan -n
untuk 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 -n
dilakukan, tepatnya?
-n
mencetak setiap baris di samping baris yang secara khusus diminta. Jadi dalam hal ini-n
menekan pencetakan setiap baris diurai . Namun dalam contoh ketiga dan keempat perilakunya berbeda. Dalam kasus-kasus sed tanpa-n
menghasilkan garis dua kali, sehingga menggunakan-n
tidak menekan pencetakan setiap baris diuraikan tetapi lebih menekan pencetakan garis tidak berubah . Saya mengalami kesulitan menggeneralisasi ketika perilaku akan menjadi satu atau yang lain.