Supongamos que tengo un archivo con líneas
aaa = bbb
Ahora me gustaría reemplazarlos con:
aaa = xxx
Puedo hacer eso de la siguiente manera:
sed "s / aaa = bbb / aaa = xxx / g"
Ahora tengo un archivo con algunas líneas de la siguiente manera:
aaa = bbb aaa = ccc aaa = ddd aaa = [algo más]
¿Cómo puedo reemplazar todas estas líneas aaa=[something]
con el aaa=xxx
uso de sed ?
[something else]
el texto literal, o es solo un marcador de posición? ¿Cuál es el formato posible de la cosa después del signo igual?Respuestas:
Prueba esto:
fuente
.*
.g
reemplace todas las instancias de regexp con reemplazoTambién puede usar la línea de cambio de sed para lograr esto:
Esto pasará y encontrará cualquier línea que pase la
aaa=
prueba, lo que significa que la línea contiene las letrasaaa=
. Luego reemplaza toda la línea con aaa = xxx. Puede agregar un^
al comienzo de la prueba para asegurarse de que solo obtiene las líneas que comienzanaaa=
pero eso depende de usted.fuente
sed
debec
ir seguido de una barra diagonal inversa y una nueva línea, y no agrega una nueva línea al texto insertado, pero puede usar, por ejemplo$'/aaa=/c\\\naaa=xxx\n'
.Me gusta esto:
Si desea garantizar que
aaa=
esté al comienzo de la línea, hágalo:fuente
sed 's/aaa=.*/aaa=\'xxx\'/'
pero eso abre un>
mensaje en una nueva línea ...Si desea utilizar,
awk
entonces esto también funcionaríafuente
fuente
Esto podría funcionar para usted:
fuente
bbb
,ccc
yddd
es bastante lo que el PO tenía en mente.