shell指令碼——比較兩個檔案大小、許可權

dongxie_tk發表於2017-08-31
#!/bin/bash

#建立檔案/usr/local/1.txt、/etc/local/2.txt,分別給許可權655、712

#檔案的位元組數 、字數、行數
wc  /usr/local/1.txt >aa.txt

wc  /etc/local/2.txt >bb.txt


#檔案的大小
du -h  --max-depth=2 /usr/local/1.txt >>aa.txt

du -h  --max-depth=2 /etc/local/2.txt >>bb.txt


#檔案的許可權
stat  /usr/local/1.txt |grep Access | awk '{print $2}' >>aa.txt

stat  /etc/local/2.txt |grep Access | awk '{print $2}' >>bb.txt


#檔案最後修改時間
stat /usr/local/1.txt | grep Modify | awk '{split($3,var,".");print var

[1]}' >>aa.txt

stat /etc/local/2.txt | grep Modify | awk '{split($3,var,".");print var

[1]}' >>bb.txt



#比較檔案aa.txt與檔案bb.txt,確定檔案1.txt與檔案2.txt的大小、許可權、修改時



diff aa.txt bb.txt #列出兩個aa.txt與bb.txt的內容比較

CurRow=1
LastRow=`cat aa.txt | wc -l`
 
 
while [ $CurRow -le $LastRow ]
do
 
    for x in `awk 'NR=='$CurRow' {print $0}' aa.txt`
    do

        for y in `awk 'NR=='$CurRow' {print $0}' bb.txt`
            do
        if [ "$x" == "$y" ];then

          echo "$x" >>result.txt

        fi
        done
     done
     ((CurRow++))
done
 
在result.txt檔案中,儲存了兩個檔案大小,時間的相同性質。

相關文章