O comando 'Du' não lista todos os arquivos

O comando 'Du' não lista todos os arquivos

Recebo um número diferente de arquivos com du -he 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

Qual é o motivo da incompatibilidade e como listar todos os arquivos com tamanhos correspondentes nas restrições fornecidas?

Responder1

Você parece estar procurando globstar. Dizer:

shopt -s globstar

e diz:

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

Citando domanual:

*

Corresponde a qualquer string, incluindo a string nula. Quando a opção shell globstar está habilitada e ‘*’é usada em um contexto de expansão de nome de arquivo, dois ‘*’s adjacentes usados ​​como um único padrão corresponderão a todos os arquivos e a zero ou mais diretórios e subdiretórios. Se seguido por a ‘/’, dois ‘*’s adjacentes corresponderão apenas a diretórios e subdiretórios.

informação relacionada