Alterar 1 caracter por outro

1. Alterar 1 caracter por outro

Felipe Duran de Aquino
Felipe09

(usa Outra)

Enviado em 27/11/2020 - 17:27h

Pessoal boa tarde,

estou tentando alterar o caracter S pelo 1 na coluna 32 e naão estou conseguindo:

cat CBCF_FIDELIZACAO_2020071_26_11_201.txt | awk -F'|' '{ print $1 "|" $2 "|"$3"|"$4 "|" $5 "|"$6"|"$7 "|" $8 "|"$9"|"$10 "|" $11 "|"$12"|"$13 "|" $14 "|"$15"|"$16 "|" $17 "|"$18"|"$19 "|" $20 "|"$21"|"$22 "|" $23 "|"$24"|"$25 "|" $26 "|"$27"|"$28 "|" $29 "|"$30"|"$31 "|" if($32==S) print "1" "|"$33"|"$34 "|" $35 "|"$36"|"$37 "|" $38 "|"$39}'

alguem consegue ajudar?


  


2. Re: Alterar 1 caracter por outro

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/11/2020 - 18:42h

Boa noite Felipe,
segue sugestão:
cat texto.txt
01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|S|33|34|35|36|37|38|39
awk -F"|" '{OFS="|";sub("S","1",$32);print $0}' texto.txt
01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|1|33|34|35|36|37|38|39
Ou
awk -F"|" '{sub("S","TROCOU",$32); for(n=1;n<=NF;n++) printf "%s|",$n}END{printf "\n"}' texto.txt
Ou
awk -F"|" '{OFS="|";$32="1";print $0}' texto.txt



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________



3. Re: Alterar 1 caracter por outro

Ryuk Shinigami
Ryuk

(usa Nenhuma)

Enviado em 27/11/2020 - 18:46h

Testa assim:
awk -F'|' '{OFS=FS}{ if($32=="S") $32="1" ; print }' arquivo.txt 








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts