To jest wpis strony podręcznika dla -n:
-n
wyłącz automatyczne drukowanie przestrzeni wzorów
Zauważam, że gdy nie używam -ndo niektórych operacji, każda linia jest drukowana na standardowym wyjściu (a żądane linie są drukowane dwukrotnie):
$ 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
Jednak to prawo nie dotyczy innych poleceń:
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
Co -ndokładnie robi ?
-nwydrukowano każdej linii oprócz tych, które zostały specjalnie zamówione. Zatem w takim przypadku-npomija drukowanie każdej przeanalizowanej linii . Jednak w trzecim i czwartym przykładzie zachowanie jest inne. W takich przypadkach-nfunkcja sed bez nie wysyła wierszy dwa razy, dlatego użycie-nnie wstrzymuje drukowania każdej przeanalizowanej linii, ale raczej wstrzymuje drukowanie niezmienionych linii . Mam trudności z uogólnieniem, kiedy zachowanie będzie jedno lub drugie.