Eu tenho um arquivo que contém muitas linhas como esta, por exemplo
AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm
DDD GAGAGAGAGA
AAA IIIII
BBB OOOO
CCC YYYYY
...e assim por diante
Quero adicionar uma palavra específica no final de todas as linhas que começam com CCC.
Por exemplo. Quero adicionar a palavra 'sorriso', então o resultado será
AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm smile
DDD GAGAGAGAGA
AAA IIIII
BBB OOOO
CCC YYYYY smile
Você pode me dizer, por favor, como pode fazer isso?
Responder1
sed -i.backup '/^CCC/s/$/ smile/' data.txt
Explore este comando e programa sed:
sed -i.backup
No modo local - edite o arquivo de entrada e (opcionalmente) faça backup do arquivo original com sufixo (.backup
)./^CCC/
Expressão regular a ser encontrada - string iniciada (^
) com CCC.s/$/ smile/
Pesquise o final da string (s/$/
) e substitua-o por smile (smile/
).
Responder2
Tentar:
sed -E 's/^(CCC.+)/\1 smile/' <data.in >data.out
Você também pode editar no local:
sed -i -E 's/^(CCC.+)/\1 smile/' data.dat