El comando 'Du' no enumera todos los archivos

El comando 'Du' no enumera todos los archivos

Recibo diferente cantidad de archivos con du -hy find:

loom@loom-desktop$ du -h ~/storage/Apps/*/trunk/test/*.cpp | wc -l
35
loom@loom-desktop$ find ~/storage/Apps/ -path */trunk/test/*.cpp | wc -l
111

¿Cuál es el motivo de la discrepancia y cómo enumerar todos los archivos con los tamaños correspondientes en las restricciones dadas?

Respuesta1

Parece que estás buscando globstar. Decir:

shopt -s globstar

y decir:

du -h ~/storage/Apps/**/trunk/test/*.cpp    # note ** after Apps

Citando delmanual:

*

Coincide con cualquier cadena, incluida la cadena nula. Cuando la opción de shell globstar está habilitada y ‘*’se usa en un contexto de expansión de nombre de archivo, dos ‘*’s adyacentes usados ​​como un patrón único coincidirán con todos los archivos y con cero o más directorios y subdirectorios. Si va seguido de a ‘/’, dos s adyacentes ‘*’coincidirán solo con directorios y subdirectorios.

información relacionada