Page 1 of 1

Testen ob ein Verzeichnis leer ist

Posted: 27. Jun 2001 15:48
by oli
Hi,

ich suche nach einer Möglichkeit, wie ich feststellen kann, ob sich in einem Verzeichnis
keine files befinden. Natürlich gibt es immer die Verweise auf das aktuelle Verzeichnis (.) und
das übergeordnete Verzeichnis (..). Diese Einträge sollen aber nicht als Treffer gelten sondern nur
reguläre Dateien.

Mit "test -d dirname" kann ich zwar testen, ob das Verzeichnis existiert, nicht aber ob es leer ist.

Ich suche nach einer Möglichkeit mit Shell Mitteln, auch sed & awk sind willkommen, aber halt nicht Perl.

Weiss das zufällig jemand ?

cu

oliver

Re: Testen ob ein Verzeichnis leer ist

Posted: 27. Jun 2001 16:46
by hjb
Hi,

cd /pfad/zu/verzeichnis
list=$(echo *)
if [ "$list" = "*" ]
then
# leer
else
# nicht leer
fi

Re: Testen ob ein Verzeichnis leer ist

Posted: 27. Jun 2001 17:59
by Ozi
Hi,

danke für den hinweis, denke dass ich damit weiterkomme. c' ya <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

cu

oliver

Re: Testen ob ein Verzeichnis leer ist

Posted: 27. Jun 2001 18:30
by ratte
cool, dass echo auch files listet, wusste ich ja noch gar nicht, danke!

ratte

Re: Testen ob ein Verzeichnis leer ist

Posted: 28. Jun 2001 13:03
by Jochen
Nö, macht echo nicht.

Verantwortlich ist die Shell dafür, die löst den "*" auf. echo gibt dann nur noch die Liste der Dateiname, die es von der Shell kriegt, aus.

Und da "*" <i>sämtliche</i> Dateien, die mit 'nem Punkt beginnen, ignoriert, kann nach dieser Methode ein Verzeichnis als leer angegeben werden, obwohl dort noch eine Datei .profile oder so liegt.

Vorschlag meinerseits:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
is_empty_dir()
{
if [ `ls -a "$1" | wc -l` -gt 2 ] ; then
return 1
else
return 0
fi
}
</font><hr></pre></blockquote>

Kannst Du in dieser Form verwenden als

if is_empty_dir /pfad/zu/meinem/verzeichnis ; then
# is leer
else
# nich leer
fi

In Ordnung?

Jochen

Re: Testen ob ein Verzeichnis leer ist

Posted: 28. Jun 2001 18:27
by Ozi
Hi,

das ist ebenfalls eine gute Idee <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Die dotfiles brauch ich zwar in meinem Fall nicht, aber gut zu wissen, falls es später mal doch ne Rolle spielt.
Danke für den Tipp <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

cu

oliver