Ich brauche auch den Namen des Verzeichnisses, um als auch ausgegeben zu werden. Was ich konnte, ist die Ausgabe der Gesamtzahl von Zeilen in allen Verzeichnissen mit dem Verzeichnisnamen.Wie man alle Zeilen der Dateien zählt
#!/usr/bin/env bash
for dir in */; do (
cd "$dir"
count=$(find . -name '*.c' -print0 | xargs -0 grep '[;]$' | wc -l)
echo -e "${count}\t${dir}"
) done
Wenn Sie Nummern für jedes Unterverzeichnis:
find . -name '*.c' | xargs wc -l | xargs -I{} dirname {} | xargs -I{} dirname {}
Können Sie Ihre Anforderungen mit einem geeigneten Beispiel wieder laufen? Kannst du es näher erklären? – Inian
@Inian, im Grunde möchte ich den Verzeichnispfad und die Anzahl der Zeilen mit einem Semikolon in diesem Verzeichnis (Anzahl der Zeilen aus allen Dateien in diesem Verzeichnis) enden. Ich kann die Gesamtzahl der Zeilen, die mit einem Semikolon enden, im Verzeichnis mit 'find' ausgeben. -name '* .c' -print0 | xargs -0 grep '[;] $' | wc -l 'aber ich habe keine Ahnung, wie man die Ausgabe nach Verzeichnis bekommt. – Theseven7
@Inian, tat es. – Theseven7