Zeilenzählen und Problem mit wc

18/02/2008 - 23:42 von John Pohl | Report spam
Hallo Group,

ich will die Zeilenanzahl einer Textdatei bestimmen und in einem Script
weiterbenutzen. Wenn ich die Ausgabe von wc in eine Variable lege ist
dort nach der Zeilenanzahl der Dateiname (schade dass man das nicht per
Parameter abschalten kann).
Nun könnte ich ein ziemlich krankes Konstrukt mit ($Dateinamenlànge + 1)
Zeichen rechtsbündig abschneiden versuchen.
Gibt es eine elegantere Möglichkeit?
Oder anders gefragt: wenn eine Variable garantiert mit numerischen
Anteil beginnt, wie übernehme ich nur den numerischen Anteil?

Thx für Antworten,
Gruß, John
<) .--. /"\ ASCII RIBBON CAMPAIGN
)#=+ ' \ / AGAINST HTML IN E-MAIL AND NEWS
/## | .+. x
,/###,|,,,,,,|,,,, / \ .--...-..--..-.-.-..-
 

Lesen sie die antworten

#1 Hauke Laging
20/02/2008 - 05:08 | Warnen spam
John Pohl schrieb am Montag 18 Februar 2008 23:42:

Oder anders gefragt: wenn eine Variable garantiert mit numerischen
Anteil beginnt, wie übernehme ich nur den numerischen Anteil?



wc -l /etc/fstab | sed -n -e '1!d' -e 's/[^0-9]//g' -e p

Das 1!d sorgt dafür, dass nur die erste Zeile übernommen wird. So
erschlàgt man auch Dateinamen mit Leerzeichen :-)

Bei einer numerischen Mehrkomponentenausgabe (5 4 12) müsste man das
anders machen:

echo 5 4 12 abc | sed -n -e '1!d' -e 's/[^0-9 ].*//g' -e p

Und dann ggf. noch \t in den Suchausdruck reinfummeln. In der Bash
also etwa so:

echo 5 4 12 abc | sed -n -e '1!d' -e 's/[^0-9 '$'\t''].*//g' -e p


CU

Hauke
http://www.hauke-laging.de/ideen/
http://www.hauke-laging.de/software/
http://zeitstempel-signatur.hauke-laging.de/
Wie können 59.054.087 Leute nur so dumm sein?

Ähnliche fragen