Page 1 of 1

Shellscript: Letztes Zeichen einer Variable auslesen

Posted: 2007-08-23 14:19
by michseel2
Hallo,

ich habe ein Shellscript, das mir z. B. "587M" oder "9.7G" ausgibt (Befehl: du -h --max-depth=1 | tail -n 1 | awk '{ print $1 }').

Nun möchte ich mit einem Shellscript prüfen, ob das letzte Zeichen der Größenausgabe "M" oder "G" ist. Wie ist das möglich?

Gruß
michseel2

Re: Shellscript: Letztes Zeichen einer Variable auslesen

Posted: 2007-08-23 21:26
by michseel2
Danke, aber leider komm ich damit nicht zurecht. Und in der Manpage heißt es: "cut - remove sections from each line of files"

Ich möchte das ja auf einen Buchstaben einer Ausgabe anwenden, nicht auf eine Datei. Könntest du mir sagen, wie genau das funktioniert?

Re: Shellscript: Letztes Zeichen einer Variable auslesen

Posted: 2007-08-23 22:09
by Joe User
Quick&Dirty&Untested:

Code: Select all

sed 's/^[[:digit:]]*.+[[:digit:]]*([[:alpha:]])$/1/

Re: Shellscript: Letztes Zeichen einer Variable auslesen

Posted: 2007-08-23 22:31
by daemotron
Einfachere Lösung:

Code: Select all

du -m -s . | awk '{print $1}'
tail ist überflüssig, wenn Du `du` gleich mitteilst, was Du haben willst. Und wenn Du -m anstelle von -h verwendest, brauchst Du auch nicht mehr überlegen, ob Du es mit Gibi- oder Mebibytes zu tun hast.

Re: Shellscript: Letztes Zeichen einer Variable auslesen

Posted: 2007-08-23 23:15
by juergen
output=`dein_du_kommando`

case ${output: -1} in
G) echo "Giga";;
M) echo "Mega";;
K) echo "Kilo";;
*) echo Unknown
esac