Wert auslesen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
d4rkm3n
Beiträge: 159
Registriert: 07.05.2005 14:36:43

Wert auslesen

Beitrag von d4rkm3n » 16.01.2006 21:41:51

hallo

ich möchte aus diesem code die 43,9 auslesen, oder besser gesagt ich möchte die zahl auslesen, welche vom anfang der zweiten zeile bis zu dem | geht.

Code: Alles auswählen

1|Razorback 2.0|195.245.244.243|4661
43,9|25,0|5000
irgendwie funktioniert das mit sed aber das verstehe ich garnicht :?

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 16.01.2006 22:18:13

Habs gerade mit Awk weil das das Tool ist für so Zeugs das in regelmässigen Feldern daherkommt:

Code: Alles auswählen

cat datafile.txt | awk ' { FS="|"; print $1 }' | tail -1
Oder so. Je nach dem musst du halt auch mehr sagen dazu wie ich die zweite Zeile als die gewünschte erkennen kann.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
d4rkm3n
Beiträge: 159
Registriert: 07.05.2005 14:36:43

Beitrag von d4rkm3n » 16.01.2006 22:29:15

also ich möchte einfach, dass nur die erste zahl der zweiten zeile ausgelesen wird. der rest soll komplett wegfallen.
in meinem beispiel soll als end ausgabe wert 43,9 geliefert werden.

...und die anordnung ist immer gleich

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 17.01.2006 07:23:36

Ja ok, das tut der Code da oben.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 17.01.2006 16:06:51

Warum so umständlich?

Code: Alles auswählen

sed -ne '2s/|.*//p' DATEI
tut's auch.

@peschmae: awk nimmt auch einen Dateinamen an, das cat kannst du dir schenken

yeti

Beitrag von yeti » 17.01.2006 17:24:55

peschmae hat geschrieben:

Code: Alles auswählen

cat datafile.txt | awk ' { FS="|"; print $1 }' | tail -1
Oder so. Je nach dem musst du halt auch mehr sagen dazu wie ich die zweite Zeile als die gewünschte erkennen kann.

Code: Alles auswählen

awk 'BEGIN { FS="|" } NR==2 { print $1 }' datafle.txt
Also ich würde da auch eher awk als sed bemühen...

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 17.01.2006 18:10:20

Joghurt hat geschrieben:Warum so umständlich?
Weil awk endgeil ist? ;)
@peschmae: awk nimmt auch einen Dateinamen an, das cat kannst du dir schenken
Das könnte ich mir auch sonst schenken. Aber ich nahm mal an dass das der Output von nem Programm ist das dann quasi cat ersetzt...

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Antworten