Você parece assumir que o comando p
do sed irá imprimir apenas as linhas do intervalo especificado. Este não é o caso por padrão.
A menos que você adicione o parâmetro -n
a sed
, o padrão de entrada será impresso e, com efeito, as linhas correspondentes serão duplicadas.
Considere:
echo -e "a\nb\nc\nd" | sed "3,4 p"
Irá dar-lhe:
a
b
c
c
d
d
Porque no seu exemplo não há linhas 3-4, você obtém as duas primeiras linhas na saída.
Para imprimir apenas as linhas do intervalo especificado:
echo -e "a\nb\nc\nd" | sed -n "3,4 p"
c
d