Команда 'Du' не перераховує всі файли


0

Я отримую різну кількість файлів з du -h і 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

У чому причина невідповідності і як перерахувати всі файли з відповідними розмірами в заданих обмеженнях?


1
Видаліть трубу і "wc" і збережіть файли, потім розріжте їх, щоб побачити, що відбувається.

1
Вони чітко відрізняються, оскільки перший буде виглядати лише одним каталогом глибоко, а інший - до будь-якої глибини
Bernhard

Відповіді:


2

Ви, здається, шукаєте globstar. Сказати:

shopt -s globstar

і сказати:

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

Цитуючи з керівництво :

*

Відповідає будь-якому рядку, включаючи нульовий рядок. При глобусі оболонки   опція включена, і ‘*’ використовується у контексті розширення файлу,   два суміжних ‘*’ Використовується як один шаблон буде відповідати всім файлам і   нуль або більше каталогів і підкаталогів. Якщо слідує a ‘/’, два   суміжних ‘*’ s буде відповідати лише каталогам і підкаталогам.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.