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// }