2016-09-14 2 views
0

의 디렉토리 이름 리눅스와 함께 디렉토리에있는 파일의 수를 찾는 방법 :반복적으로 나는 리눅스의 디렉토리 구조를 다음 한

-dirA 
    -dir1 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    -dir2 
     -dirX 
     -dirY 
    . 
    . 
    . 
    . 
    . 
    . 
    . 
    . 
    . 
    -dirn 
     -dirX 
     -dirY 

내가 다음과 같이 파일의 개수에 대한 세부 사항을 얻으려면 또는 형식 :

dirX 및 dirY의
dir1 
dirX = count 
dirY = count 

dir2 
dirX = count 
dirY = count 

dir3 
dirX = count 
dirY = count 

...... 
...... 

dirn 
dirX = count 
dirY = count 

참고 여기에 폴더 이름은 다음 명령 같은 내부 하위 디렉토리 DIR1, DIR2 ..... dirn

내가 사용이지만 축적 된 결과를 제공 :

find $DIR -exec stat -c '%F' {} \; | sort | uniq -c | sort -rn 

find . -type f | wc -l 

답변

0

간단한 while 루프는 당신이 그 (것)들을 파일 수를 기준으로 정렬하려면

find "$DIR" -type d -print0 | 
    while IFS= read -r -d '' path; do 
     echo -e "$(ls -A -- "$path" | wc -l)\t$path" 
    done 

, 당신은 명령의 끝에 | sort -n을 추가 할 수 있습니다 충분해야한다 (done 키워드 바로 다음).

+0

쉘 스크립트로 저장해야하고 – virendrao

+0

@virendrao를 실행해야합니다. 원한다면 할 수 있습니다. ''$ DIR ''을''$ 1 ''로 대체하고'myscript.sh'로 저장하고 스크립트로 실행하십시오. 예 : './myscript.sh "/ path/to/디렉토리"'. ''$ DIR ''을 디렉토리의 경로로 바꾸고 터미널에 붙여 넣기 만하면된다. – redneb

관련 문제