[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: im Skript feststellen ob ein Verzeichnis leer ist



Hi Walter,

wlt@bluewin.ch (Walter Saner) wrote:
>Frank Dietrich schrieb:
>> Florian Tham <xxx@yyy.zzz> wrote:
>> >
>> >if [ -z `ls -AU foobar/ | head -1` ]; then [...]
>> 
>> Mir geht es nicht so sehr darum was nach der Pipe kommt, mir geht
>> es um die Zeit die ls -AU foobar/ verbrät, wenn es in ein
>> Verzeichnis mit deutlich mehr als 10.000 Dateien kommt

Der nicht vorhande Antworttext hat es mir begreiflich gemacht. ;-)

>| wal@tek:~$ time ls -R -AU /usr/share | wc
>|   51909   49256  737261
>|
>| real    0m0.546s

Das sind in meinem Fall hier beim erstem 'ls' 31.8 Sekunden.

>| wal@tek:~$ time ls -R -AU /usr/share > /dev/null
>|
>| real    0m0.543s

Hier dann 5sek.

>| wal@tek:~$ time ls -R -AU /usr/share | head -1 > /dev/null
>|
>| real    0m0.018s

0.02 sek - perfekt (ich hätte es einfach probieren sollen)

Aber kannst Du mir erklären was da genau passiert? 
Ich war den Meinung alles was ls in die Pipe reinschreibt müsse auch
wieder herausgelesen werden. Das scheint aber ja wohl dann nicht der
Fall zu sein. Wie kommt also die Meldung vom head zu ls das es nicht
weiter Daten liefern muß?

Danke
Frank
-- 
21 is only half the truth



Reply to: