Rekursiv zählen bestimmte Dateien BASH

Mein Ziel ist es, ein Skript zu schreiben, das rekursiv durchsuchen Sie die aktuellen Arbeitsverzeichnis und der sub dirctories und drucken Sie die Anzahl der gewöhnliche Dateien, die Anzahl der Verzeichnisse, Anzahl der blockorientierten Dateien, Graf von Charakter spezielle Dateien,Anzahl der FIFOs, und eine Anzahl von symbolischen links. Ich muss mit Bedingung testet mit [[ ]]. Problem ist, ich bin nicht ganz sicher, wie Sie beginnen sogar.

Habe ich versucht, das so etwas wie die folgenden, um die Suche für alle normalen Dateien, aber ich bin mir nicht sicher, wie die Rekursion genau das funktioniert in BASH-scripting:

function searchFiles(){
    if [[ -f /* ]]; then
        return 1
    fi
}
searchFiles
echo "Number of ordinary files $?"

aber ich bekomme 0 als Ergebnis. Jemand helfen zu diesem?

  • wo uns der rekursive Aufruf? und warum Rekursion. Beachten Sie, dass Sie in der Lage wäre, um nur ein max Wert von 255 als Rückgabe-Wert ist begrenzt durch 1 byte (8-bit byte).
  • haben Sie einen Blick auf pushd und popd
InformationsquelleAutor jamesy | 2011-06-07
Schreibe einen Kommentar