sed '/\r$/ {N s/\n//}'
sed: -e expression #1, char 10: extra characters after command
Eu quero entender o que está errado na minha linha de comando.
Quando eu posso fazer o seguinte em um script, mas não em uma linha de comando.
Eu tenho trabalhado no tutorial em www.grymoire.com. Quando eu fiquei preso na seção
Trabalhando com várias linhas . Esse script funciona bem.
#!/bin/sh
sed '
# look for a "#" at the end of the line
/#$/ {
# Found one - now read in the next line
N
# delete the "#" and the new line character,
s/#\n//
}' file
No meu caso, estou procurando por \ r ou retorno ^ M.
#!/bin/sh
sed '
# look for a "#" at the end of the line
/\r$/ {
# Found one - now read in the next line
N
# delete the "#" and the new line character,
s/\r\n//
}' file
O problema é que quando tento convertê-lo em um comando shell de linha única, isso me causa erros.
sed '/\r$/ {N s/\n//}'
sed: -e expression #1, char 10: extra characters after command
sed '/\r$/{N s/\n//}'
sed: -e expression #1, char 9: extra characters after command
sed '/\r$/{Ns/\n//}'
sed: -e expression #1, char 8: extra characters after command
Eu quero entender o que está errado na minha linha de comando.
Quando posso fazer o seguinte em um script, mas não em uma linha de comando.
Eu criei um script sed para fazer o trabalho que quero.
cat test.sed
#!/bin/sed -f
/\r$/ {
N
s/\n//
}