天天看點

shell:遞歸周遊檔案夾及其子檔案夾

1 #!/bin/bash
 2 #周遊檔案夾及其子檔案夾内所有檔案,并檢視各個檔案大小
 3 dir="/root/test" #要周遊的目錄
 4 
 5 #子函數getdir
 6 function getdir()
 7 {   
 8     for element in `ls $1`
 9     do  
10         file=$1"/"$element
11         if [ -d $file ]
12         then 
13             getdir $file
14         else
15             echo $file 1>> /root/dir.out #将結果儲存到/root/dir.out
16         fi  
17     done
18 }
19 
20 getdir $dir #引用子函數
21 for line in `cat /root/dir.out`  #讀取檔案dir.out的每行
22 do
23     filesize=`ls -l $line | awk '{ print $5 }'`  #讀取檔案大小
24     echo $filesize
25 done      

轉載于:https://www.cnblogs.com/seaBiscuit0922/p/7510449.html