msoliver
(usa Debian)
Enviado em 31/01/2019 - 22:47h
alexandremc escreveu:
Boa noite pessoal;
Tenho um arquivo de texto simples em duas colunas, separadas por tabulação
Alexandre outros
mora outros
no outros
Rio outros.
Alexandre outros
é outros
um outros
cara outros
legal outros
Preciso localizar determinados termos como Alexandre e Rio e escrever valores na coluna ao lado.
Alexandre nome
mora outros
no outros
Rio cidade
Alexandre nome
é outros
um outros
cara outros
legal outros
Como faço para ler um coluna e escrever em outra?
Abraços
O que entendi é:
A linha que tem "Alexandre", troca o 2º campo por "NOME"
A linha que tem "Rio", troca o 2º campo por "CIDADE"
sed -ri "/^Alexandre/s/[a-z]+$/NOME/" txt1.txt
sed -ri "/^Rio/s/[a-z.]+$/CIDADE\./" txt1.txt
cat txt1.txt
Alexandre NOME
mora outros
no outros
Rio CIDADE.
Alexandre NOME
é outros
um outros
cara outros
legal outros
Automatizando:
strA=(Alexandre Rio)
strB=(Nome Cidade.)
for ((x=0;x<${#strA[@]};x++));do
sed -ri "/^${strA[$x]}/s/[a-z]+\.?$/${strB[$x]}/" txt1.txt;
done
att.:
Marcelo Oliver