2个文件内容的比较
文件内容比较shell 如:
a.txt
2111,12,222
b.txt
2121,12,222
shell代码
#!/bin/bash
touch result.txt;
echo '创建结果文件成功!';
echo '' > result.txt;
FILENAME1='/home/zzq/a.txt';
#拿到文件的行数
FILECOUNT1=`awk 'END{print NR}' $FILENAME1`
#echo $FILECOUNT1;
FILENAME2='/home/zzq/b.txt'
FILECOUNT2=`awk 'END{print NR}' $FILENAME2`
#遍历行数
for((i=1;i<=FILECOUNT1;i++))
do
#echo $i
#用sed命令读取每行
readLine=`sed -n "${i}p" $FILENAME1`
readLine2=`sed -n "${i}p" $FILENAME2`
#echo $readLine > cache1.txt;
#echo $readLine2 > cache2.txt;
#echo $readLine
#将行用,逗号分割为数组
OLD_IFS="$IFS"
IFS=","
arr=($readLine)
IFS="$OLD_IFS"
for s in ${arr[@]}
do
echo "$s"
done
#echo -----+ ${arr[2]};
OLD_IFS="$IFS"
IFS=","
arr2=($readLine2)
IFS="$OLD_IFS"
for s in ${arr2[@]}
do
echo "$s"
done
#echo -----+ ${arr2[1]}
lengthVal=${#arr[@]}
echo 数组长度 $lengthVal;
#遍历数组比较字符串
for ((num=0;num<lengthVal;num++))
do
# echo ${arr[${num}]}
if [ "${arr[${num}]}" != "${arr2[${num}]}" ];then
resultText="${arr[${num}]} 不相等在$FILENAME1的第$i行第$(($num+1))列"
echo $resultText;#输出结果
echo $resultText >> result.txt;
fi
done
#sleep 1s
done
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现