POST EM CONSTANTE ATUALIZAÇÃO
PARA VER MAIS DICAS, ASSUNTOS E COMANDOS
BUSQUE NA BARRA ACIMA, À ESQUERDA
PARA VER MAIS DICAS, ASSUNTOS E COMANDOS
BUSQUE NA BARRA ACIMA, À ESQUERDA
Manipular bem arquivos e linhas de texto é muito importante, especialmente ao lidar com dados brutos.
ATENÇÃO: dependendo da versão de linux os comandos abaixo podem variar. Foram testados em um FEDORA 7 em diante.
SED mudando a ultima virgula de cada linha mas limitado a ultima linha ($)
sed '$ s:,$:;:g' arquivo.txt
o que era:
4 5 6 7 8 9 1 2 5,
5 8 7 4 5 6 9 5 4,
7 5 8 4 1 2 3 6 8,
vira:
4 5 6 7 8 9 1 2 5,
5 8 7 4 5 6 9 5 4,
7 5 8 4 1 2 3 6 8;
Criando arquivos .keepme (útil para cvs) usando AWK
find DIRWORK -type d -ls | awk '{print "touch "$11"/.keepme"}' > criakeepme.exe
Usando LS e AWK para pegar parametros externos e escrever no GrADS
'!ls -l u_niveis1000_*dat | tail -1 | awk "{print substr(\$9,14,12)}" > prefixo.txt'
prefixo=read('./prefixo.txt')
prefixo=sublin(prefixo,2)
say prefixo
(existem formas melhores, mas dependendo do tipo e tamanho do parâmetro isto é bem útil)
Usando HEAD e AWK para formatar um arquivo usando tabulações (\t), pedaços de strings (substr) e quebras de linha (\n)
head -2 arquivo.txt | awk '{print "X\t"substr($1,7,4)"-"substr($1,1,2)"-"substr($1,4,2)" 00:00:00\n"$2" "$3" "$4" "$5}'
Forma fácil de passar variáveis shell para o AWK
Passando $ano, $mes e $dia
awk -v datafull="20$ano $mes $dia 00 " '{print datafull $1" "$2" "$3" "$4}' arquivo.txt
Somando colunas usando AWK
awk '{for (i=1; i<=NF; i++) { sum[i]+= $i } } END { for (i=1; i<=NF; i++ ) { print "Col[", i, "] =", sum[i] } }'
passa de:
32 0para...
6 0
21 11
Col[ 1 ] = 59
Col[ 2 ] = 11
awk '{ sum1+=$1; sum2+=$2; } END { print sum1" "sum2 }'
passa de:
32 0para...
6 0
21 11
59 11
POST EM CONSTANTE ATUALIZAÇÃO
PARA VER MAIS DICAS, ASSUNTOS E COMANDOS
BUSQUE NA BARRA ACIMA, À ESQUERDA
PARA VER MAIS DICAS, ASSUNTOS E COMANDOS
BUSQUE NA BARRA ACIMA, À ESQUERDA
Nenhum comentário:
Postar um comentário