Recibo diferente cantidad de archivos con du -h
y 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.