sed informa "comando desconocido"

sed informa "comando desconocido"

Yo escribí esto:

sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini

Eso produjo este error:

sed: -e expression #1, char 1: unknown command: `'

Respuesta1

Compara tu

 sudo sed -i ‘s/3389/3390/g’ /etc/xrdp/xrdp.ini

vs lo correcto

 sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini

Consulta los diferentes tipos de cotizaciones.

Tenga cuidado al copiar y pegar desde editores de documentos como Writer o Word, ya que a menudo cambiarán automáticamente las comillas (y otras cosas) para que coincidan con los locales.

Respuesta2

Tuve el mismo error pero la causa fue diferente. No utilicé el carácter `, ni copié y pegué el código de algún lugar. Estaba escribiendo un script sed con una condición y usé una nueva línea para el comando. Publicar esto aquí en caso de que alguien más tenga el mismo problema y no haya recibido ayuda de la respuesta aceptada.

A continuación se explica cómo replicar el error:

echo class:myclass > myfile
cat script
/class:/
s/myclass/MYCLASS/g #ctrl+d to exit
sed -f script myfile

Producción:

sed: file script line 2: unknown command: `
'

Lo que soluciona es colocar el comando después de la condición (en la misma línea) o usar llaves, para que el script se vea así:

/class:/ s/myclass/MYCLASS/

O esto:

/class:/ {
s/myclass/MYCLASS/
}

información relacionada