![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Sed Er is een oplossing voor dit? | racbern | Programmeren en Shell Scripting | 1 | 03-13-2008 11:31 |
| noodzaak oplossing voor scripting | kkc | Programmeren en Shell Scripting | 14 | 01-31-2008 09:17 PM |
| Zon en backup oplossing | Jshwon | SUN Solaris | 1 | 10-23-2007 01:54 PM |
| Grep oplossing | Amruta Pitkar | Programmeren en Shell Scripting | 3 | 05-03-2007 03:57 |
| Linux als een NAS-oplossing? | kjbaumann | Linux | 1 | 08-30-2006 01:09 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Is er een awk oplossing voor dit?
Ik schrijf een awk script dat verzamelt bepaalde gegevens uit bepaalde gebieden. Ik moest een awk oplossing voor dit, want het zal later een functie in het script.
Ik heb de volgende gegevens die ik nodig uitgang op een regel, maar record omspant heel multilple lijnen en documenten niet "samen". Zo zou tom hieronder record "Tom" hieronder is op 4 verschillende lijnen, maar ik hoeft alleen de gegevens van 2 van de lijnen, ik zal ook moeten dezelfde info voor Pat, Tim, en tad, of wie anders heeft een record als de onderstaande indeling. Code:
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
Code:
lead1 07q4 07q1 06q4 06q3 sept oct nov tim 357 25 3020 3120 0 21 1800 tad 1734 0 5213 5213 0 0 672 dank bij voorbaat voor dit, omdat ik denk dat dit een moeilijke kwestie. |
|
||||
|
Citaat:
|
|
||||
|
Citaat:
|
|
|||||
|
Code:
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
|
|
||||
|
Citaat:
|
![]() |
| Bladwijzers |
| Labels |
| solaris |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|