Dateigröße ermitteln und vergleichen

D

drm

Eroberer
Ich möchte in einem ksh-Skript prüfen, ob eine existierende Datei die Größe 0 hat (sozusagen leer ist).

Ich stelle mir das vom Pseudocode so vor:
Code:
if dateigröße = 0 dann
Vorgang A
else
Vorgang B
Mein Problem ist, wie komme ich am besten an die Dateigröße heran? Need help!!!
 
hallo!

leere dateien (size = 0) findest du mit

>find / -size 0 ("/" fängt beim root verzeichnes an)

kannst die dann gleich löschen indem du > -ok rm {} \
anhängst (löscht nach rückfrage)

mfg slaughter.j4ck
 
mit du kannst du dir zumindest den gebrauchten Speicherplatz anzeigen lassen
 
Mit der folgenden Zeile kannst Du Dir die Größe einer Datei anzeigen lassen.

Code:
ls -l [Dateiname] | tr -s " " | cut -d " " -f 5
 
einfacher gehts nur noch mit
Code:
du --apparent-size -h deinedatei
 
Mit
Code:
stat -c %s $FILE
bekommst Du die Größe der Datei $FILE in Bytes

... und wenn Dich die genaue Größe der Datei nicht interessiert, sondern Du nur wissen willst, ob sie existiert und eine Größe ungleich 0 hat, dann nimm doch einfach
Code:
if test -s $FILE; then ...; else ...; fi

Siehe Manual-/Info-Pages zu test und stat :)

Gruß, F.
 
Code:
[[ $(du -b "$datei_a" | awk '{print $1}') = $(du -b "$datei_b" | awk '{print $1}') ]] && echo 'Gleichgroß!' || echo 'Nicht gleichgroß!'
 
Super, besten Dank, ihr habt mir damit sehr geholfen :-)
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Summe von Zahlen in einer Zeilen bilden

[Gelöst] Suchen und ersetzen mit Hilfe mehrerer Parameter

Queue für copy Script

Shellskript - Fehler in Cron

Zurück
Oben