Alternativa ao comando de script que obtém nomes de diretório (usando ls e awk)

0

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.

    
por IBG 09.12.2015 / 09:19

2 respostas

2

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
    
por 09.12.2015 / 09:38
2

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
    
por 09.12.2015 / 09:34