Piszę skrypt to ksh. Musisz znaleźć wszystkie nazwy katalogów bezpośrednio w bieżącym katalogu, które zawierają tylko pliki, a nie podkatalogi.
Wiem, że mogłem użyć ls -alR
i rekursywnie przeanalizować dane wyjściowe dla pierwszej litery w pierwszym polu ( d
dla katalogu). Myślę, że awk
to najlepszy sposób na parsowanie i znajdowanie.
Na przykład proste ls -al
wyjście w bieżącym katalogu:
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
…
Dane wyjściowe zawierają 2 katalogi: Public
i Sites
. Katalog Public
nie zawiera podkatalogów, ale Sites
zawiera. Istnieją 3 podkatalogi w Sites
. Muszę więc powtórzyć tylko te katalogi, które nie zawierają w sobie katalogów. W moim przypadku jest to tylko Sites
.