Apenas um loop for simples:
for dir in "$WEBFOLDER"/*/; do
basename "$dir"
done
Se você também quiser diretórios começando com um ponto:
for dir in "$WEBFOLDER"/.*/ "$WEBFOLDER"/*/; do
basename "$dir"
done
Relacionado à minha pergunta sobre o awk sendo ignorado pelo cron, existem alternativas ao awk? Esta é a linha em questão:
for dirlist in 'ls -l $WEBFOLDER | awk '$1 ~ /d/ {print $10 }' '
Eu não sei o awk, então não entendo a parte $1 ~ /d/
, mas acho que ela imprime a décima coluna do resultado ls -l
. Como não posso usar o awk como de costume, existe uma alternativa para obter os nomes dos diretórios sem usar o awk?
EDIT: A linha acima apenas exibe os nomes. Não há linhas ou pontos, apenas os nomes.
Que tal usar o find? Você pode facilmente obter diretórios como este:
find . -type d
Você também pode limitar a profundidade, se necessário:
find . -type d -maxdepth 1
Tags shell-script