Wenn das Parsen der Ausgabe von ls
gefährlich ist, weil einige funky Zeichen (Leerzeichen ,, \n
...) beschädigt werden können, wie lässt sich die Anzahl der Dateien in einem Verzeichnis am besten ermitteln?
Ich verlasse mich normalerweise darauf find
, dieses Parsen zu vermeiden, find mydir | wc -l
werde aber aus den gleichen Gründen ebenfalls brechen.
Ich arbeite gerade an Solaris, suche aber nach einer Antwort, die für verschiedene Unices und Shells so portabel wie möglich ist.
find
erhalten Sie die Anzahl der Dateien rekursiv (verwenden -maxdepth 1
Sie, wenn Sie das nicht möchten. find mydir -maxdepth 1 -type f -printf \\n | wc -l
sollten die Sonderzeichen im Dateinamen behandeln, da sie überhaupt nicht gedruckt werden.