Filezählung

S

Schupi

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
 
Schupi schrieb:
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:
Code:
find /my/start/dir/ -type f | wc -l
man find und man wc hilft dir weiter.

gruss, sd.
 
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
 
Schupi schrieb:
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.
 

Ähnliche Themen

Switche abfragen über Script

Verschlüsseltes Backup-Script mit rsync

Shell Skript beschleunigen

[gelöst] - for file in ... nur für bestimmte Endungen?

HandbrakeCLI Shell Skript

Zurück
Oben