![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Gibt es eine Lösung für dieses Sed? | racbern | Shell Programmierung und Scripting | 1 | 03-13-2008 11:31 AM |
| Notwendigkeit für Scripting | KKC | Shell Programmierung und Scripting | 14 | 01-31-2008 09:17 PM |
| Sonnen-und Backup-Lösung | Jshwon | SUN Solaris | 1 | 10-23-2007 01:54 PM |
| Grep Lösung | Amruta Pitkar | Shell Programmierung und Scripting | 3 | 05-03-2007 03:57 AM |
| Linux als NAS-Lösung? | kjbaumann | Linux | 1 | 08-30-2006 01:09 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Gibt es eine Lösung für dieses awk?
Ich schreibe ein awk-Skript, sammelt bestimmte Daten aus bestimmten Bereichen. Ich brauchte ein awk Lösung für diese, denn es wird später eine Funktion in das Skript. Ich habe folgende Daten, die ich brauche die Ausgabe auf einer einzigen Zeile, sondern Datensatz umfasst über multilple Linien und werden nicht "zusammen". Beispiel wäre Tom unten, erfassen "Tom" unten auf 4 verschiedenen Strecken, aber ich nur noch Daten von 2 der Zeilen, werde ich auch brauchen die gleichen Informationen für Pat, Tim, und tad, oder wer sonst hat einen Eintrag wie das Format unten. 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
Ich musste die folgende Ausgabe: 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 Gibt es eine Lösung für dieses awk? Vielen Dank im Voraus für diese, denn ich denke, das ist eine schwierige. |
|
||||
|
Zitat:
|
|
||||
|
Zitat:
|
|
|||||
|
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
|
|
||||
|
Zitat:
|
![]() |
| Lesezeichen |
| Tags |
| solaris |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|