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.