Ich schreibe Skript ist ksh. Sie müssen alle Verzeichnisnamen direkt unter dem aktuellen Verzeichnis finden, die nur Dateien und keine Unterverzeichnisse enthalten.
Ich weiß, dass ich die ls -alR
Ausgabe für den ersten Buchstaben im ersten Feld ( d
für ein Verzeichnis) verwenden und rekursiv analysieren kann . Ich denke, das awk
ist der beste Weg, um zu analysieren und zu finden.
Zum Beispiel eine einfache ls -al
Ausgabe im aktuellen Verzeichnis:
drwxr-xr-x 22 af staff 748 18 Mar 22:21 .
drwxr-xr-x 5 root admin 170 17 Mar 18:03 ..
-rw------- 1 af staff 3 17 Mar 16:37 .CFUserTextEncoding
drwxr-xr-x 5 af staff 170 17 Mar 17:12 Public
drwxr-xr-x 9 af staff 306 18 Mar 17:40 Sites
-rw------- 1 af staff 3 17 Mar 16:37 textd
…
Diese Ausgabe enthält 2 Verzeichnisse: Public
und Sites
. Das Verzeichnis Public
enthält keine Unterverzeichnisse, Sites
tut es aber . Es gibt 3 Unterverzeichnisse in Sites
. Ich muss also nur die Verzeichnisse wiedergeben, die keine Verzeichnisse enthalten. In meinem Fall ist dies nur Sites
.