Re: [awk:] Teilstrings aus 'pattern' in 'action' als Variable verwenden
- From: Martin Kißner <news@xxxxxxxxxxxx>
- Date: Wed, 5 Apr 2006 20:20:52 +0200
Heike C. Zimmerer wrote :
Martin Kißner <news@xxxxxxxxxxxx> writes:
----
#!/usr/bin/awk -f
/^ *[0123][[:digit:]]\.03\.200[[:digit:]]/ {
number03++;
proof03 = proof03 $0"\n";
}
/^ *[0123][[:digit:]]\.04\.200[[:digit:]]/ {
number04++;
proof04 = proof04 $0"\n";
}
END {
print "Anzahl: "number03"\n"proof03 > "03proof.out";
print "Anzahl: "number04"\n"proof04 > "04proof.out";
}
----
Das Skript sucht nach Zeilen, die nach einer beliebigen Anzahl von
Leerzeichen ein Datum enthälten und speichert die gefundenen Zeilen nach
Monat sortiert in eine Variable. Im END Block, werden die Variablen
dann in Dateien geschrieben, jeweils eine für jeden Monat.
Wieso nimmst Du nicht Arrays? Monat extrahieren (die Regex hast Du ja
praktisch schon) und number[monat]++; proof[monat] = $0 ? Am Schluss
Ausgabe auch in einer Schleife?
Das ist eigentlich genau das was ich vorhabe. Ich weiß nur nicht, wie
ich in awk einen Teil aus der regex in eine Variable extrahiere.
Das mit der array Schleife habe ich vom Prinzip her auch schon, weil ich
aus einem Feld der Schleife zusammgehörige Werte aufaddiere.
Ich habs hier nur weggelassen, weil ich das Besipiel einfach halten
wollte.
Das Ganze handelt sich übrigens um eine selbstgestellte Übungsaufgabe, bei
der ich einen Internet Telefonie Verbindungsnachweis aus dem Internet
lade und dann eben mithilfe des awk Skriptes nach Monaten und Rufnummern
sortiert auflisten möchte.
---
Hab gerade noch einmal in die manpage geschaut und dabei ist mir
plötzlich split() ins Auge gestochen ;). Damit müsste es in diesem Fall
gehen. Oder gibt es vielleicht noch ne elegantere (und vor allem
flexiblerere!) Lösung?
Freundlicher Gruß
Martin
--
perl -e '$S=[[73,116,114,115,31,96],[108,109,114,102,99,112],
[29,77,98,111,105,29],[100,93,95,103,97,110]];
for(0..3){for$s(0..5){print(chr($S->[$_]->[$s]+$_+1))}}'
.
- Follow-Ups:
- Teillösung ohne arrays (was: [awk:] Teilstrings aus 'pattern' ...)
- From: Martin Kißner
- Teillösung ohne arrays (was: [awk:] Teilstrings aus 'pattern' ...)
- References:
- [awk:] Teilstrings aus 'pattern' in 'action' als Variable verwenden
- From: Martin Kißner
- Re: [awk:] Teilstrings aus 'pattern' in 'action' als Variable verwenden
- From: Heike C. Zimmerer
- [awk:] Teilstrings aus 'pattern' in 'action' als Variable verwenden
- Prev by Date: Re: Frage zu df-Befehl
- Next by Date: Teillösung ohne arrays (was: [awk:] Teilstrings aus 'pattern' ...)
- Previous by thread: Re: [awk:] Teilstrings aus 'pattern' in 'action' als Variable verwenden
- Next by thread: Teillösung ohne arrays (was: [awk:] Teilstrings aus 'pattern' ...)
- Index(es):
Relevant Pages
|