Как работает команда 'N' в sed?

без преамбулы,

$ cat in.txt 
 a
 b
 c
 d
$ sed '=;N' in.txt 
1
 a
 b
3
 c
 d

Похоже, что команда «N» работает на всех остальных строках. Возможно, это было бы естественно, потому что команда «N» присоединяется к следующей строке и меняет текущий номер строки. Но,

$ sed 'N;$!P;$!D;$d' thegeekstuff.txt

(я видел это здесь )
В приведенном выше примере удаляются последние две строки файла. Это работает не только с файлом с четным номером, но и с файлом с нечетным номером. Итак, в этом примере команда «N» выполняется на каждой строке.
В чем разница?

И не могли бы вы сказать мне, почему я не вижу последнюю строку, когда запускаю sed, как это?

# sed N odd-lined-file.txt

15
задан plhn 6 June 2011 в 17:33
поделиться