Dado o seguinte exemplo:
$ cat -et file
122323432.....^M$
4354363645....^M$
45234564655...$
34r52435346...^M$
122323432.....^M$
(onde cat -et
é usado para exibir os finais de linha) então
$ awk '{last = $0} NR==1 {cr = /^M$/ ? 0 : 1; next} cr == 0 && /^M$/ {print last; cr = 1} cr == 1 && !/^M$/ {print last; cr = 0}' file | cat -et
4354363645....^M$
45234564655...$
34r52435346...^M$
em que ^M
são inseridos como caracteres CR reais usando Ctrl + V Digite por exemplo.
Aqui está uma tentativa literal de uma python
translation:
#!/usr/bin/python3
import re
p = re.compile(r'.*\r$')
with open('file', 'r', newline='') as f:
for idx, line in enumerate(f):
last = line
m = p.match(line)
if (idx==0):
cr = 0 if m else 1
if (cr==0) and m:
print(last, end='')
cr = 1
elif (cr==1) and not m:
print(last, end='')
cr = 0