Also was ich tun muss, ist alle regulären Dateien innerhalb und unterhalb des Verzeichnisses zu finden. Für jede dieser regulären Dateien muss ich für Muster ($ ARG) egrep und herausfinden, ob die Ausgabe der Datei mit dem Muster ($ ARG) übereinstimmt, wenn es tut, wird es eins zum Zähler hinzufügen.Shell, wie man einen Befehl für jede Datei in einem Verzeichnis verwendet
Was ich habe, so weit ist die Datei Befehl:
$count = 0
file *
Aber ich habe Probleme egrep bekommen & ARG>/dev/null /; echo $? um jede Datei zu durchlaufen, die von (Datei *) erscheint.
Ich verstehe diese Datei * | Verzeichnis egrep>/dev/null; echo $? gibt 0 aus, weil es das Muster "Verzeichnis" in der Datei findet, aber ich habe Probleme, es durch jede reguläre Datei zu durchlaufen, so dass ich jedes Mal, wenn das Muster übereinstimmt, eins zum Zähler hinzufügen kann.
Sie brauchen '-r', um in Unterverzeichnisse zu springen. – Barmar
ja, richtig. hinzugefügt – karakfa
@Aleksej: Darf ich Sie fragen, warum genau Sie meine Antwort gelöscht haben? Du hast behauptet, dass es keine Antwort auf die Frage gegeben hat. Meiner Meinung nach hat das OP um ein Programm gebeten, um ein bestimmtes Problem zu lösen, und ich habe eins veröffentlicht. Wenn Sie meinen, dass mein Programm die Anforderungen des OP nicht erfüllt (was natürlich möglich ist - ich habe nie behauptet, keine Fehler in der Programmierung zu machen), wäre es besser gewesen, wenn Sie stattdessen auf diesen Fehler hingewiesen hätten. – user1934428