GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué tiene de malo mi expresión regular de búsqueda anticipada en GNU sed?

sed -i '/^foo/! s/^/bar/' file.txt
  • -i cambiar el archivo en su lugar
  • /^foo/! solo realice la siguiente acción en líneas que no sean ! comenzando con foo ^foo
  • s/^/bar/ cambiar el inicio de la línea a barra

Que yo sepa sed no tiene ni mirar hacia adelante ni mirar hacia atrás. Cambia a un lenguaje más potente con una sintaxis similar, como perl .


Utiliza la sintaxis de expresión regular compatible con Perl (PCRE) que no es compatible con GNU sed. Debe volver a escribir su expresión regular de acuerdo con las expresiones regulares de SED o usar perl en su lugar.

Tenga en cuenta que SED no tiene anticipación y, por lo tanto, no es compatible con la función de expresiones regulares que estaba tratando de usar. Se puede hacer en SED usando otras funciones, como han mencionado otros.


Linux
  1. ¿Extraer una expresión regular combinada con 'sed' sin imprimir los caracteres circundantes?

  2. Adición Con 'sed'?

  3. ¿Colorear la salida de la cola con Sed?

  4. ¿Qué hace Gnome con las teclas multimedia?

  5. C++:¿qué biblioteca de expresiones regulares debo usar?

Introducción a las expresiones regulares

Qué es Git Bash; Trabajar con comandos de Git Bash

10 ejemplos prácticos de expresiones regulares con grep

¿Qué tiene de malo mi secuencia de comandos bash para mantener los últimos archivos x y eliminar el resto?

¿Qué puede salir mal con una actualización de GLIBC?

Expresión regular con sed