shell脚本——不同目录下同名文件内容比较

本文介绍了一个使用Shell脚本来比较两个不同目录下同名文件内容的方法。脚本首先遍历两个指定目录,列出所有子目录并保存到文本文件,然后以其中一个目录为基准,比较其余文件,使用diff命令检测内容差异,并将结果输出到test.txt文件。要运行此脚本,需赋予其执行权限并提供两个目录路径。
摘要由CSDN通过智能技术生成
#!/bin/bash

#遍历目录函数
list_alldir(){
    for road in `ls -a $1`
    do
        if [ x"$road" != x"." -a x"$road" != x".." ];then
            if [ -d "$1/$road" ];then
                echo "$1/$road"
                list_alldir "$1/$road"
            fi
        fi
    done
}

echo "输入文件A的根目录:"
read path_A
list_alldir $path_A >Adir.txt

echo "输入文件B的根目录:"
read path_B
list_alldir $path_B >Bdir.txt




#选择其中一个作为比较标准
files=$(ls $path_A/*  $path_A/* )


#用剩下的一个与标准比较
for file in $files
do
    filename=$(basename $file )   #通过basename可以通过文件的绝对路径获取文件名
    path_B=${path_B}/${filename}

    diff ${file} ${path_B}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值