'Du' 명령이 모든 파일을 나열하지 않습니다.

'Du' 명령이 모든 파일을 나열하지 않습니다.

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

을(를) 찾고 있는 것 같습니다 globstar. 말하다:

shopt -s globstar

그리고 말하세요:

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

에서 인용수동:

*

null 문자열을 포함하여 모든 문자열과 일치합니다. globstar 쉘 옵션이 활성화되고 ‘*’파일 이름 확장 컨텍스트에서 사용되면 ‘*’단일 패턴으로 사용되는 두 개의 인접한 s는 모든 파일과 0개 이상의 디렉터리 및 하위 디렉터리와 일치합니다. 뒤에 a가 오면 ‘/’두 개의 인접한 ‘*’s는 디렉토리 및 하위 디렉토리에만 일치합니다.

관련 정보