Índice

Ejercicio

Ejercicio

Para cada extensión .conf, .cfg y .d, indique si hay más de 10 archivos o no, cuyo nombre termine con esta extensión en el directorio /etc.

Solución

La solución utiliza un bucle for para recorrer con la variable $ext las diferentes extensiones propuestas en el enunciado.

[javier]$ for ext in .conf .cfg .d  
> do  
>   [[ $(ls -d /etc/*$ext | wc -l) -gt 10 ]] \  
>     && echo "hay más de 10 archivos que terminan con $ext" \  
>     || echo "hay menos de 10 archivos que terminan con $ext"  
> done  
hay más de 10 archivos que terminan con .conf  
hay menos de 10 archivos que terminan con .cfg  
hay más de 10 archivos que terminan con .d

El comando ls -d /etc/*$ext | wc -l, que devuelve el número de archivos correspondientes, es substituido ($(...)) por su resultado en el test ([[... -gt 10 ]]) que, determina si hay más de 10.

Si el resultado de test es verdadero (&&), ejecutamos el comando echo "...más..."; en caso contrario (||), ejecutamos el siguiente: echo "...menos...".