![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Sed Há uma solução para isto? | racbern | Programação Shell Script e | 1 | 03-13-2008 11:31 |
| necessidade solução para a criação de scripts | kkc | Programação Shell Script e | 14 | 01-31-2008 09:17 |
| Sol e backup solução | Jshwon | Sun Solaris | 1 | 10-23-2007 01:54 |
| Grep solução | Amruta Pitkar | Programação Shell Script e | 3 | 05-03-2007 03:57 |
| Linux como uma solução NAS? | kjbaumann | Linux | 1 | 08-30-2006 01:09 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Existe uma solução para este awk?
Estou escrevendo um script awk que reúne alguns dados de certas áreas. Eu precisava de uma solução awk para isso, porque vai tornar-se mais tarde uma função no script.
Tenho os seguintes dados que eu preciso de saída em uma única linha, mas abrange toda a gravar multilple linhas e os registos não são "juntos". Exemplo seria tom abaixo, gravar "tom" que se segue é, em 4 linhas diferentes, mas eu só preciso dos dados a partir de 2 linhas, eu também terão a mesma informação para pat, tim, e tad, ou quem mais tem um registro como o formato abaixo. Código:
2008 fl01 LAC 2589 polk doal
xx 2008q1 mx
sect 25698541
Sales 08 Dept group
lead1 2008q1
tom
pat
tim
tad
lead1 07q4 07q3 07q2 07q1 06q4 06q3 jan
tom 0 96 0 3312 3624 0 312
pat 0 17 0 0 30 0 30
tim 357 03 04 25 3020 3120 20
tad 1734 0 0 0 5213 5213 0
lead1 feb mar apr may jun jul aug
tom 0 96 0 0 0 0 0
pat 0 17 0 0 0 0 0
tim 357 23 5 7 8 14 70
tad 1734 0 0 0 0 0 0
lead1 sept oct nov dec
tom 0 0 460 92
pat 0 0 240 0
tim 0 21 1800 0
tad 0 0 672 0
2008 fl01 LAC 2589 polk doal
yy 2008q1 mx
sect 2569852
Sales 08 Dept group
Código:
lead1 07q4 07q1 06q4 06q3 sept oct nov tim 357 25 3020 3120 0 21 1800 tad 1734 0 5213 5213 0 0 672 thanks in advance, para isso, porque eu acho que isto é difícil. |
|
||||
|
Citação:
|
|
||||
|
Citação:
|
|
|||||
|
Código:
awk 'NR == 1 { print "lead1 07q4 07q1 06q4 06q3 sept oct nov tot" }
$1 ~ "^("users")$" && NF > 1 {
x[$1]++
if (x[$1] == 1) {
p[$1] = sprintf ("%s\t%s\t%s\t%s\t%s", $1, $2, $5, $6, $7)
t[$1] = $2 + $5
}
if (x[$1] == 3) {
printf "%s\t%s\t%s\t%s\t%d\n", p[$1], $2, $3, $4, t[$1]
}
}' users="tim|tad" file
|
|
||||
|
Citação:
|
![]() |
| Marcadores |
| Tags |
| solaris |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|