starbuxx
Aktives Mitglied
Thread Starter
- Dabei seit
- 13.04.2003
- Beiträge
- 1.454
- Reaktionspunkte
- 8
gruess' euch,
folgendes:
ich will in einem bashskript vergleichen ob der platz in einem zielverzeichniss ausreicht, um alle dateien aus einem anderen verzeichniss dahin zu verschieben.
die groessen bekomm ich bis jetzt mit:
funktioniert soweit auch. allerdings sind es soweit strings, die ich ja schlecht mit
testen kann, weil im ersten test nach ASCII reihenfolge getestet wird ("505" waere 'groesser' als "1024") bzw '-lt' nicht funktioniert, weil es keine Integer sind.
hat irgendjemand von euch eine idee, wie ich die sinnvoll vergleichen koennte, oder die Strings in Integer umwandeln kann?
grüsse,
sbx
folgendes:
ich will in einem bashskript vergleichen ob der platz in einem zielverzeichniss ausreicht, um alle dateien aus einem anderen verzeichniss dahin zu verschieben.
die groessen bekomm ich bis jetzt mit:
# groesse aller dateien im verzeichniss checken
function check_size ()
{
SIZE_TOTAL=0
for SIZE in $(ls -lR $1 | grep -e 'total' | awk '{ print $2 }')
do
let SIZE_TOTAL=$SIZE_TOTAL+$SIZE
done
echo $SIZE_TOTAL
}
bzw.
# freien speicherplatz checken
function check_space ()
{
echo $(df -k $1 | grep -v -e 'Filesystem' | awk '{ print $4 }')
}
funktioniert soweit auch. allerdings sind es soweit strings, die ich ja schlecht mit
if [ "$STR1" < "$STR2" ]
oder
if [ $STR1 -lt $STR2 ]
testen kann, weil im ersten test nach ASCII reihenfolge getestet wird ("505" waere 'groesser' als "1024") bzw '-lt' nicht funktioniert, weil es keine Integer sind.
hat irgendjemand von euch eine idee, wie ich die sinnvoll vergleichen koennte, oder die Strings in Integer umwandeln kann?
grüsse,
sbx