2015-01-28 4 views
1

폴더의 각 디렉토리 안에있는 디렉토리의 수를 얻으려고합니다.찾기 명령의 csh 파이프 출력

기본적으로 주어진 디렉토리의 모든 폴더로 이동 한 다음 'ls -l | 화장실 '-l

나는 다음과 같은 구조를 가지고있는 디렉토리입니다 가정합니다

sq1 3 
sq2 4 
sq3 0 

내가 시도 :

├── sq1   
│   ├── 12  
│   ├── 123  
│   └── 1234  
├── sq2   
│   ├── 1  
│   ├── 123  
│   ├── 1234  
│   └── 345  
├── sq3 

내가 내 출력은 유형이어야 할을

find -maxdepth 1 -type d -exec find {} -maxdepth 1 -type d \; 

하지만 모든 내용이 나와 있습니다. 나는 개별적으로 계산할 필요가있다. 나는 이것에 대해 어떻게 갈 것인가? 나는 csh를 실행 중이다.

도움이 많이

답변

1

ls utillity 인쇄에게 두 번째 콜 럼에서 direcoty 링크의 수를 평가. 그 수는 서브 디렉토리의 수입니다. 두 개의 디렉토리 ...도 포함됩니다. 그들은 모든 디렉토리에 있습니다.

$ ls -ld */ | awk '$9{print $9" "$2-2}' 
sq1/ 3 
sq2/ 4 
sq3/ 0 

또는 stat utillity과 :

$ LC_ALL=C stat -c "%F %n %h" * | awk '$1=="directory"{print $2" "$3-2}' 
sq1 3 
sq2 4 
sq3 0 
그래서 당신은 그 값에서 하다며 빼기 2