No puedo ejecutar el comando sed más básico en la línea de comando

No puedo ejecutar el comando sed más básico en la línea de comando

Me siento como un completo novato. ¿Por qué esto no funciona?

$ echo foobar > textfile
$ sed /foo/bar/ textfile
sed: can't find label for jump to `ar/'

También probé sed "/foo/bar/" textfiley sed '/foo/bar/' textfile, y todos arrojan el mismo error.

Usando ubuntu 8.04 y GNU sed versión 4.1.5 a través de bash.

Respuesta1

Prueba esto: sed 's/foo/bar/' textfile.

  • Las citas alrededor de la declaración son una buena práctica.
  • spor sustituto. Es el comando que desea ejecutar. fooes el término de búsqueda barel reemplazo.

Hay mucha información sobre sed en línea. P.ej.:http://www.catonmat.net/blog/sed-one-liners-explained-part-one/

Respuesta2

Necesitas dar seduna orden; analizó lo que le dio como patrón de búsqueda /foo/seguido del comando b ar/(ramificación a etiqueta ar/). Probablemente quisiste decir 's/foo/bar/', lo que significa reemplazar la primera instancia de foocon baren cada línea.

información relacionada