|
From: | Victor Salustrino Bezerra |
Subject: | Re: [shell-script] [Shell] - Ajuda |
Date: | Tue, 2 Aug 2016 09:18:22 -0300 |
vejamosseu arquivo tem o formato"alguma coisa" "outra coisa"cada campo é separado por um espaço em branco. porem dentro de aspas duplas, o espaço em branco é "escapado", não sendo um separador de campos.existem algumas formas de fazer isso. ja foram abordadas algumas ideias mas deixe eu dar um leve pitaco."2885" "2" "50" "ALO" "2" "3"
"2885" "2" "50" "ALO GENTE" "2" "3"a partir dessa entrada vc pode verificar se existe algum caracter que não aparece em lugar algum com o bom e velho grep. Imagine que não existe @ então vc pode"2885"@"2"@"50"@"ALO"@"2"@"3"
"2885"@"2"@"50"@"ALO GENTE"@"2"@"3"via sed fazendo$ sed -i.old 's/" "/"@"/g' arquivoisso vai gerar um arquivo.old com o conteudo original e o arquivo agora tera campos separados por... @Agora vem a parte divertida$ awk -F@ '{$5="\"3\""; print $0}' arquivo
"2885" "2" "50" "ALO" "3" "3"
"2885" "2" "50" "ALO GENTE" "3" "3"é meio sujo ter que colocar o 3 dentro de aspas duplas, e aspas duplas de novo. porém quando vc altera um campo de um registro ( como o $5 nesse exemplo) no awk e imprime o registro todo via $0 o print explode os campos de forma a usar o OFS ( output field separator ) que nesse caso é espaço em branco ( padrão ).o que é o OFS? quando vc faz no awk '{ print $3, $4, $5 }' cada campo do print sera separado pelo conteudo dessa variavel. então se vc quer um formato especial como | vc pode simplesmente mudar o OFSainda tem duvidas? abre o terminal e brinca um pouco.abraços2016-07-29 15:33 GMT+02:00 Vinicius Xavier address@hidden [shell-script] <address@hidden>:Bom dia pessoal,Poderiam dar uma ajuda nesse caso?Como alterar o valor 2 para 3 em determinada campo? Somente para esse campo, no caso abaixo o campo 5.Entrada:"2885" "2" "50" "ALO" "2" "3""2885" "2" "50" "ALO GENTE" "2" "3"Saída"2885" "2" "50" "ALO" "3" "3""2885" "2" "50" "ALO" "3" "3"Att.,Vinícius Xavier--
--Victor Salustrino Bezerra
[Prev in Thread] Current Thread [Next in Thread]
- Re: [shell-script] [Shell] - Ajuda, Tiago Peczenyj, 2016/08/02
- Re: [shell-script] [Shell] - Ajuda, Victor Salustrino Bezerra <=
- Re: [shell-script] [Shell] - Ajuda, Julio C. Neves, 2016/08/02
- Re: [shell-script] [Shell] - Ajuda, Gmail, 2016/08/03
- Prev by Date: Re: [shell-script] [Shell] - Ajuda
- Next by Date: Re: [shell-script] [Shell] - Ajuda
- Previous by thread: Re: [shell-script] [Shell] - Ajuda
- Next by thread: Re: [shell-script] [Shell] - Ajuda
- Index(es):