Я бы не советовал использовать sed
для этой задачи.
Однако у вас возникла лишь незначительная проблема с командой, которую вы пробовали. Вам необходимо полностью сравнить следующую строку, поэтому добавьте $
привязку после \1
$ sed -nE '$!N; /^(.*)\n\1$/P; D' ip.txt
line
line
line2
Без привязки line
будет соответствовать строкам, таким как line1
, linexyaz
и т. Д. Если вы измените входные данные так, чтобы не было частичных совпадений, то ваша команда сработала бы
$ cat ip.txt
line
line
line
cline1
line
zline3
line1
line2
line2
line
$ sed -nE '$!N; /^(.*)\n\1/P; D' ip.txt
line
line
line2