On Thu, 12 Mar 2009, 11:02:45 +0100, =?iso-8859-1?q?Dr. J=FCrgen Vollmer?= wrote:
Am Donnerstag 12 März 2009 10:56:14 schrieb Manfred Hollstein:
Moin,
On Thu, 12 Mar 2009, 10:06:30 +0100, Jens Strohschnitter wrote:
On Thu, 12 Mar 2009 09:59:03 +0100
"Dr. Jürgen Vollmer"
wrote: Am Donnerstag 12 März 2009 09:47:44 schrieb Jens Strohschnitter:
Hallo Liste,
hat jemand ein Kommando parat mit dem ich wie bei "test" auf eine Datei, auf ein Verzeichnis prüfen kann, ob dieses leer ist ?
if [ `ls DIR | wc -l` -eq 0 ] then echo "Verz ist leer" fi
Yep,
vielen Dank für die Info - auf die naheliegenden Dinge kommt eben immer zuletzt.
mit obigem Kommando erwischt du aber die '.??*' Dateien nicht. Ich wuerde lieber "stat" verwenden:
if [ -d DIR ] && [ `stat -c '%h' DIR` = 2 ]; then echo "DIR ist leer" fi
Das Format '%h' gibt die Anzahl Hardlinks von DIR aus, die 2 ist, wenn eben nur noch die Standard-Directories "." und ".." vorhanden sind.
das tut's dann auch:
if [ `ls -a | wc -l` -eq 2 ]
Lass' mal ein strace auf "ls -a" mitlaufen und vergleiche, wieviel Systemcalls das macht gegenueber einem "stat -c '%h' DIR", dann weisst du, wovon ich rede... Vor allem, wenn du den Test auf ein riesiges Directory machst...
Bye Jürgen
Cheers. l8er manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org