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
Shellscript: Letztes Zeichen einer Variable auslesen
-
- Posts: 34
- Joined: 2007-07-09 23:00
-
- Posts: 34
- Joined: 2007-07-09 23:00
Re: Shellscript: Letztes Zeichen einer Variable auslesen
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?
Ich möchte das ja auf einen Buchstaben einer Ausgabe anwenden, nicht auf eine Datei. Könntest du mir sagen, wie genau das funktioniert?
-
- Project Manager
- Posts: 11190
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Shellscript: Letztes Zeichen einer Variable auslesen
Quick&Dirty&Untested:
Code: Select all
sed 's/^[[:digit:]]*.+[[:digit:]]*([[:alpha:]])$/1/
-
- Administrator
- Posts: 2643
- Joined: 2004-01-21 17:44
Re: Shellscript: Letztes Zeichen einer Variable auslesen
Einfachere Lösung: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.
Code: Select all
du -m -s . | awk '{print $1}'
-
- Posts: 133
- Joined: 2004-03-30 14:44
Re: Shellscript: Letztes Zeichen einer Variable auslesen
output=`dein_du_kommando`
case ${output: -1} in
G) echo "Giga";;
M) echo "Mega";;
K) echo "Kilo";;
*) echo Unknown
esac
case ${output: -1} in
G) echo "Giga";;
M) echo "Mega";;
K) echo "Kilo";;
*) echo Unknown
esac