Saya menulis skrip adalah ksh. Perlu menemukan semua nama direktori langsung di bawah direktori saat ini yang hanya berisi file, bukan subdirektori.
Saya tahu bahwa saya dapat menggunakan ls -alR
dan secara rekursif mengurai output untuk huruf pertama di bidang pertama ( d
untuk direktori). Saya pikir awk
adalah cara terbaik untuk menguraikan dan menemukan.
Misalnya, ls -al
output sederhana di direktori saat ini:
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
…
Ada 2 direktori dalam output ini: Public
dan Sites
. Direktori Public
tidak mengandung subdirektori, tetapi Sites
tidak. Ada 3 subdirektori di Sites
. Jadi saya hanya perlu mengulangi direktori yang tidak mengandung direktori di dalamnya. Dalam kasus saya, ini hanya Sites
.