Usa un for
bucle:
for d in $(find /path/to/dir -maxdepth 1 -type d)
do
#Do something, the directory is accessible with $d:
echo $d
done >output_file
Busca solo los subdirectorios del directorio /path/to/dir
. Tenga en cuenta que el ejemplo simple anterior fallará si los nombres de directorio contienen espacios en blanco o caracteres especiales. Un enfoque más seguro es:
find /tmp -maxdepth 1 -type d -print0 |
while IFS= read -rd '' dir; do echo "$dir"; done
O en claro bash
:
for d in /path/to/dir/*; do
if [ -d "$d" ]; then
echo "$d"
fi
done
(tenga en cuenta que, al contrario, find
también se consideran enlaces simbólicos a directorios y se excluyen los ocultos)