shell脚本——比较两个文件大小、权限

本文介绍了一个Bash脚本,该脚本用于创建两个文件,并通过一系列命令获取这两个文件的字节数、字数、行数、大小、权限及最后修改时间等属性。然后将这些信息进行对比,找出两文件的共同属性。
#!/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文件中,保存了两个文件大小,时间的相同性质。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值