Я написал это:
sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini
Это привело к следующей ошибке:
sed: -e expression #1, char 1: unknown command: `'
решение1
Сравните ваши
sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini
против правильного
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
Проверьте различные типы котировок.
Будьте осторожны при копировании и вставке из редакторов документов, таких как Writer или Word, поскольку они часто автоматически меняют кавычки (и другие элементы) в соответствии с вашими локальными настройками.
решение2
У меня была та же ошибка, но причина была другой. Я не использовал символ ` и не копировал-вставлял код откуда-то. Я писал скрипт sed с условием и использовал новую строку для команды. Размещаю это здесь на случай, если у кого-то еще будет такая же проблема и принятый ответ не поможет.
Вот как воспроизвести ошибку:
echo class:myclass > myfile
cat script
/class:/
s/myclass/MYCLASS/g #ctrl+d to exit
sed -f script myfile
Выход:
sed: file script line 2: unknown command: `
'
Для исправления ситуации можно либо поместить команду после условия (на той же строке), либо использовать фигурные скобки, чтобы скрипт выглядел следующим образом:
/class:/ s/myclass/MYCLASS/
Или это:
/class:/ {
s/myclass/MYCLASS/
}