Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Testen ob ein Verzeichnis leer ist

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
oli



Anmeldungsdatum: 25.12.2000
Beiträge: 46

BeitragVerfasst am: 27. Jun 2001 15:48   Titel: Testen ob ein Verzeichnis leer ist

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
_________________
If you were supposed to understand it, we wouldn't call it code.
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 27. Jun 2001 16:46   Titel: Re: Testen ob ein Verzeichnis leer ist

Hi,

cd /pfad/zu/verzeichnis
list=$(echo *)
if [ "$list" = "*" ]
then
# leer
else
# nicht leer
fi
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Ozi
Gast





BeitragVerfasst am: 27. Jun 2001 17:59   Titel: Re: Testen ob ein Verzeichnis leer ist

Hi,

danke für den hinweis, denke dass ich damit weiterkomme. c' ya

cu

oliver
 

ratte
Gast





BeitragVerfasst am: 27. Jun 2001 18:30   Titel: Re: Testen ob ein Verzeichnis leer ist

cool, dass echo auch files listet, wusste ich ja noch gar nicht, danke!

ratte
 

Jochen
Gast





BeitragVerfasst am: 28. Jun 2001 13:03   Titel: Re: Testen ob ein Verzeichnis leer ist

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 "*" sämtliche 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:

code:

is_empty_dir()
{
if [ `ls -a "$1" | wc -l` -gt 2 ] ; then
return 1
else
return 0
fi
}



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
 

Ozi
Gast





BeitragVerfasst am: 28. Jun 2001 18:27   Titel: Re: Testen ob ein Verzeichnis leer ist

Hi,

das ist ebenfalls eine gute Idee

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

cu

oliver
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy