una texto sustituir script reemplazar para linea especiales eliminar completa caracteres cadena sed

texto - sed reemplazar linea completa



Cómo reemplazar globalmente cadenas en líneas NO comenzando con un cierto patrón (3)

Quiero reemplazar globalmente el string foo con la barra de cadenas, usando sed. Esto solo debe hacerse para líneas que NO comienzan con la cadena ## Entrada.

No puedo conseguir que funcione. Intenté cosas como esta, pero llegué a un punto en el que no estoy seguro de si sé lo que estoy haciendo:

sed -i ''/^##Input/ s/foo/bar/g'' myfile

¡Por favor ayuda!


¡Solo necesitas negar el partido usando ! :

sed -i ''/^##Input/! s/foo/bar/g'' myfile


Tienes que escapar # como en /# .


Una respuesta fea para una solicitud fea (es decir, obtienen lo que pidieron):

echo /{ for file in *.json; do sed -n ''/^[/{/}]/! s//([^/,]/)$//1,/; /^[/{/}]/!p'' $file done echo /{