Estou escrevendo script é ksh. Precisa encontrar todos os nomes de diretório diretamente no diretório atual, que contêm apenas arquivos, não subdiretórios.
Eu sei que eu poderia usar ls -alR
e analisar recursivamente a saída para a primeira letra no primeiro campo ( d
para um diretório). Eu acho que awk
é a melhor maneira de analisar e encontrar.
Por exemplo, uma ls -al
saída simples no diretório atual:
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
…
Existem 2 diretórios nesta saída: Public
e Sites
. O diretório Public
não contém subdiretórios, mas contém Sites
. Existem 3 subdiretórios em Sites
. Então, eu preciso ecoar apenas os diretórios que não contêm diretórios neles. No meu caso, isso é apenas Sites
.