sed '/\r $/ {N s/\n//}'
sed: -e выражение # 1, символ 10: дополнительные символы после команды
Я хочу понять, что не так с моей командной строкой. Когда я могу выполнить некоторые из следующих действий в сценарии, но не в командной строке.
Я работал над учебником на www.grymoire.com. Когда я застрял в разделе Работа с несколькими линиями. Эти скрипты отлично работают.
#!/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
В моем случае я ищу \r или вернуть ^ 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
Проблема в том, что когда я пытаюсь преобразовать его в однострочную команду оболочки, она выдаёт мне ошибки.
sed '/\r $/ {N s/\n//}'
sed: -e выражение # 1, символ 10: дополнительные символы после команды
sed '/\r $/ {N s/\n//}'
sed: -e выражение # 1, символ 9: дополнительные символы после команды
sed '/\r $/ {Ns/\n//}'
sed: -e выражение # 1, символ 8: дополнительные символы после команды
Я хочу понять, что не так с моей командной строкой. Когда я могу сделать следующее в сценарии, но не в командной строке.
Я создал сценарий sed для выполнения работы, которую я хочу.
cat test.sed
#!/bin/sed -f
/\r$/ {
N
s/\n//
}
