Shell Script para enumerar el número de entradas presentes en cada subdirectorio mencionado en la ruta

En este artículo, discutiremos cómo escribir un script de shell para listar el número de entradas presentes en cada subdirectorio mencionado en la ruta.

Ejemplos:

Directory: GeeksforGeeks
Subdirectories: GeeksforGeeks/Subdirectory1, GeeksforGeeks/Subdirectory2
Entries in Subdirectory1: gfg.txt, temp.sh
Entries in Subdirectory2: foo.txt, script.sh, pro.exe

Output: ./ Subdirectory1:    2
        ./ Subdirectory2:    3

Guion:

# Shell script para contar el número de entradas

# presente en los subdirectorios de una ruta

#!/bin/sh

encontrar . -máx. profundidad 1 -tipo d | mientras lee -r dir

hacer printf “%s:\t” “$dir”; encuentre “$dir” -escriba f | wc -l; hecho

Producción:

Explicación:

A continuación se explica en detalle cada una de las líneas de este script:

  • encontrar . -max depth 1 -type d: esta declaración devuelve una lista de todos los subdirectorios presentes en la ruta o directorio actual.
  • mientras lee -r dir; do: Esta instrucción inicia un bucle while siempre que la tubería que llega al while esté abierta.
  • printf “%s:\t” “$dir”: esta instrucción imprimirá la string en $dir (que contiene uno de los nombres de directorio) seguida de dos puntos y un tabulador.
  • find “$dir” -type f: Hace la lista de todas las entradas que están dentro del directorio que está en manos de $dir:
  • wc -l: esta sentencia se utiliza para contar el número de líneas que se pasan a la entrada.
  • done: esta declaración terminará el bucle while.

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *