(5 respuestas)
Cerrado hace 4 años.
Tengo un bloque de código de la siguiente manera en un archivo:
BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode1
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode2
 
 Quiero buscar todas las líneas que tenían tc_ palabra clave y agregue status=D al final de esas líneas. Entonces, las entradas anteriores se volverán así
BalancerMember http://snode1:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode1 status=D
BalancerMember http://snode2:80 min=1 max=1000 loadfactor=1  timeout=30 keepalive=on route=tc_snode2 status=D
 Estoy usando el siguiente comando para lograr esto:
sed -i '/tc_/a status=D' app.conf
 
 Pero puedo ver status=D está buscando una nueva línea. No quiero una nueva línea para esto. Debe agregarse con un ' ' (espacio) .
Respuesta aceptada:
prueba
sed  -e '/tc_/s/$/ status=D/'
 donde
/tc_/en la línea donde se encuentra tc_,ssustituir,/$final de línea,/ status=D/por esta cadena
 si se ve bien, agregue -i para editar en el lugar.