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는 디렉토리 및 하위 디렉토리에만 일치합니다.