Tôi đang viết kịch bản là ksh. Cần tìm tất cả các tên thư mục ngay dưới thư mục hiện tại chỉ chứa các tệp, không chứa các thư mục con.
Tôi biết rằng tôi có thể sử dụng ls -alR
và phân tích cú pháp đầu ra cho chữ cái đầu tiên trong trường đầu tiên ( d
cho một thư mục). Tôi nghĩ awk
là cách tốt nhất để phân tích và tìm kiếm.
Ví dụ, một ls -al
đầu ra đơn giản trong thư mục hiện tại:
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
…
Có 2 thư mục trong đầu ra này: Public
và Sites
. Thư Public
mục không chứa thư mục con, nhưng Sites
không. Có 3 thư mục con trong Sites
. Vì vậy, tôi chỉ cần lặp lại các thư mục không chứa các thư mục trong đó. Trong trường hợp của tôi, đây chỉ là Sites
.