Это страница справочной страницы для -n
:
-n
подавить автоматическую печать пространства шаблона
Я заметил, что когда не используется -n
для определенных операций, каждая строка печатается на стандартный вывод (и запрошенные строки печатаются дважды):
$ 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
не подавляет печать каждой проанализированной строки, а скорее подавляет печать неизмененных строк . Мне трудно обобщать, когда поведение будет одним или другим.