大家好,我现在有这样两个文件1.sql和2.sql,分别是
1.sql:这文件中只是一些记录,我需要的只是他的行数,如下面有9行:
1
2
3
4
5
6
7
8
9
2.sql:这文件只是一个日志,记录了各种信息,包括了1.sql这个文件有几行的正确和错误信息,以及报错信息:
fdfkdj
aa 1
9 is 1.sql
bb 2
cc 3
14 is 1.sql
dd 4
ee 5
error
end
现在我要的结果是在2.sql文件中找出与1.sql文件一样的字符串,然后,取出这些字符串前面的数字与1.sql的行数做比较,分为三个情况 :
1、2.sql中同一行的字符串和数字与1.sql的文件名与记录数一模一样的输出正确
2、2.sql中同一行的字符串与1.sql文件名一样,但是数字和记录数不一样的,输出错误
3、只要文件2.sql中出现error就直接输出错误,不需要后续决断
我现在能做到的只有
找文件名和文件行数
awk '/1.sql/ {print $1,$3}' 2.sql
查文件的行数
line=`wc -l 1.sql|awk '{print $1}'`
这两个,但是没办法串起来,大家帮忙看看有没有办法,谢谢了