Tengo un archivo que contiene muchas líneas como esta, por ejemplo.
AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm
DDD GAGAGAGAGA
AAA IIIII
BBB OOOO
CCC YYYYY
...etcétera
Quiero agregar una palabra específica al final de todas las líneas que comienzan con CCC.
Por ejemplo. Quiero agregar la palabra 'sonrisa', por lo que el resultado será
AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm smile
DDD GAGAGAGAGA
AAA IIIII
BBB OOOO
CCC YYYYY smile
¿Puedes decirme por favor cómo se puede hacer eso?
Respuesta1
sed -i.backup '/^CCC/s/$/ smile/' data.txt
Explore este comando y programa sed:
sed -i.backup
Modo in situ: edite el archivo de entrada y (opcionalmente) haga una copia de seguridad del archivo original con el sufijo (.backup
)./^CCC/
Expresión regular a buscar: cadena que comienza (^
) con CCC.s/$/ smile/
Busque el final de la cadena (s/$/
) y reemplácelo con una sonrisa (smile/
).
Respuesta2
Intentar:
sed -E 's/^(CCC.+)/\1 smile/' <data.in >data.out
También puedes editar en el lugar:
sed -i -E 's/^(CCC.+)/\1 smile/' data.dat