要如何用awk比較二個檔案欄位 - Linux

Bennie avatar
By Bennie
at 2017-12-25T16:19

Table of Contents


我想用awk比較二個檔案,其中的某個欄位是否一致
二個檔案的內容分別是

file1
============
abc 1234
bcd 3456
def 7890

file2
============
abc 1234
bcd 8888
def 7890

我想要filter的是把第一欄做為index,當file2的第二欄有變動時
要能夠filter出來

bcd 8888

目前可以透過下面語法filter出來
awk 'NR==FNR{c[$2]++;next};c[$2] == 0' file2 file1
但如果是因為file1整筆紀錄是沒有的也會被filter
我想做的是當file1有bcd這欄,file2也有這筆紀錄,且第二欄是不一致的情況下
才會被filter出來,請問一下用awk如何才能夠達到?

ex:
file1
============
abc 1234
def 7890

file2
============
abc 1234
bcd 8888
def 7890





--
Tags: Linux

All Comments

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2017-12-27T08:28
直接 diff 不就好了?
Elvira avatar
By Elvira
at 2017-12-28T09:45
自問自答:把二個檔案用第一欄join,再用awk下if欄二不等
Susan avatar
By Susan
at 2018-01-02T05:32
於欄三就print出來,就是我要的結果了
Daniel avatar
By Daniel
at 2018-01-02T19:01
如果可以用join就簡單多了:
Mary avatar
By Mary
at 2018-01-06T07:40
先join兩個檔案,使用指令:join file1 file2,輸出:
Catherine avatar
By Catherine
at 2018-01-08T17:30
abc 1234 1234
bcd 3456 8888
def 7890 7890
Michael avatar
By Michael
at 2018-01-10T19:19
再用gawk挑第二、三欄不同,print:
Anthony avatar
By Anthony
at 2018-01-14T03:01
join file1 file2 | gawk '$2!=$3{print;}'

Ubuntu PXE 開機後沒網路

Joe avatar
By Joe
at 2017-12-22T10:08
※ 引述《ottokang (貓貓的大玩偶)》之銘言: : 使用USB製作Live開機可以使用網路,但是使用PXE開機後 : 網路卡顯示 device not managed,如圖:https://i.imgur.com/CLxUNo9.png : Google 找到的方式都沒辦法重新啟用網路,請問有人遇到類 ...

Ubuntu PXE 開機後沒網路

Madame avatar
By Madame
at 2017-12-22T09:32
使用USB製作Live開機可以使用網路,但是使用PXE開機後 網路卡顯示 device not managed,如圖:https://i.imgur.com/CLxUNo9.png Google 找到的方式都沒辦法重新啟用網路,請問有人遇到類似的狀況嗎? - ...

cic更換license問題

Erin avatar
By Erin
at 2017-12-20T16:36
使用軟體hspice 由於license不夠, 想要將lsntu換成lscic或其他 原本為 LM_LICENSE_FILE=26585atlsnctu [rootatabc ~]# setenv LM_LICENSE_FILE 26585atlscic [rootatabc ~]# env LM_LI ...

多nginx log檔案合併排序

Margaret avatar
By Margaret
at 2017-12-20T16:08
我有好幾台 nginx 在做 load balance,現在想用 awstate 作 log分析 但是 awstate 本身沒辦法回頭分析舊的 log 檔,只能照順序分析 所以想請問一下有沒有辦法把 nginx log 檔合併後、針對時間做排序另外輸出檔案 207.46.13.5 [19/Dec/201 ...

Jetty https with wildcard

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2017-12-20T09:30
各位好,搜尋過各版,跟估狗大神,但是不太了解其內容 現在在幫公司架設/變更網路架構 有一段是一個網路伺服器,而這網路服務是用 jetty9 來做架設與服務 而客戶提供的HTTPS認證是用 Wildcard SSL Certificate 但就我認知中,我要替換掉原有的 keystore 是需要 pravit ...