PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Filezählung



Schupi
24.11.2004, 13:32
moin,
ich möchte gerne alle dateien in einem verzeichnis (mit beliebig vielen unterverzeichnissen) zählen lassen, allerdings habe ich das problem, daß auch die directories mitgezählt werden..
gibt es dafür vielleicht eine fertigen befehl ?
ansonsten hab ich es mittels shell-script versuch, aber bisher ohne erfolg

typeset -i z=0
c=$(ls -R ctest/)
for i in $c ; do
if [ -f "$i" ] ; then
z=z+1
fi
done
echo $z

allerdings bring "if [ -f ... ]" nicht den erhofften effekt

sysdef
24.11.2004, 13:39
moin,
ich möchte gerne alle dateien in einem verzeichnis (mit beliebig vielen unterverzeichnissen) zählen lassen, allerdings habe ich das problem, daß auch die directories mitgezählt werden..
gibt es dafür vielleicht eine fertigen befehl ?
ansonsten hab ich es mittels shell-script versuch, aber bisher ohne erfolg
...

find ist das, was du suchst:
find /my/start/dir/ -type f | wc -l
man find und man wc hilft dir weiter.

gruss, sd.

Schupi
24.11.2004, 14:08
oh ja das klingt gut, ich hatte es zwar auch mit find und sc probiert, aber hab wohl irgendwas anders gemacht...
aber so wie du es geschrieben hast funktionierts es perfekt !

vielen dank

sysdef
24.11.2004, 14:30
oh ja das klingt gut, ich hatte es zwar auch mit find und sc probiert, aber hab wohl irgendwas anders gemacht...
aber so wie du es geschrieben hast funktionierts es perfekt !

vielen dank

pass aber auf; du bekommst keine symlink, etc. damit gezählt. nur "echte" files.

gruss, sd.