awk比较两个文件中多列相同或者不同的行

awk比较两个文件中多列相同或者不同的行,第1张

bash comparing multiple column in two files with different length

Comparing two columns in two files using awk

#!/bin/bash

line_a=wc -l a.txt

line_b=wc -l b.txt

if [ $line_a != $line_b ]  then

            echo line of a.txt is not equal to b.txt

            cp b.txt c.txt

else    awk '{print $1,$2}' a.txt > tmpa

     誉州       awk '{print $1,$2}' b.txt > tmpb

            x=`diff tmpa tmpb`

            rm tmpa tmpb

   庆姿蔽             if [ -z "$x" ]  then

                    awk '{$7="down"print 册圆$0}' b.txt >c.txt

                fi

fi

awk 'BEGIN{FS=OFS="|"} NR==FNR{w[$1]=$2m[$1]=$3} NR>FNR{for(a in w) if(a==$1 && w[a]!=$2) {print a,w[a],m[a],$1,$2 break} }' file1 file2 >file

NR==FNR就是在处含源绝理第一个文件file1

NR>FNR就是在处理第二个文件file2

提醒一下:file是一个shell命令(裂神你看,这边被语法高亮了),建议谈姿平时写脚本时文件名、变量名等都尽量不要跟shell命令重合,虽然有时也没什么问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12246623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存