
split(s,array)
for (i=1i<=NFi++) $i=$i-array[5+i]
print }' 第二个文件
结果
9761 98.895 10 1 98.896
#!/bin/bashn=1
for i in `cat 1.txt`do # 循环1.txt
num=`sed -n "${n}p" 2.txt` # 获取2.txt对行的数字
sum=$(($num + $i)) # 两数相加
echo $sum # 打印结果
n=$(($n + 1))
done
我感觉你这个要求太特殊了。因为据我所知linux中的关于文件比较的命令没有提供给你这么多功能。你可以这么一步步的来。
写一个shell脚本
假设两个文件1.txt 2.txt
第一条命令
$diff -urN 1.txt 2.txt >diff.patch
生成出来的diff.patch就是两个文件中不同的记录。
你如果需要加上你后面的“希望比较除了这行的其他内容......”等等要求的话,用其它要求做处理就行了。
附带,你可以先grep出带@的行,计算出在哪儿改的,改了哪几个字符
至于空格和制表符,我想sed就能完成了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)