我有兩個具有以下數據的UNIX文件。我必須比較文件1的字段1,字段2和字段3與文件2,如果匹配,我必須檢查文件1中的字段5是否與文件2的字段5匹配,如果不匹配,則必須打印它從文件1,否則只是忽略。根據字段比較兩個文件
文件1
A|B|C|1|D|
A|B|D|1|D|
A|B|E|1|D|
A|B|F|1|D|
文件2
A|B|Z|1|D|
A|B|C|1|x|
A|B|D|1|y|
A|B|E|1|D|
所以結果應該是 A | B | C | 1 | d |
A|B|D|1|D|
爲什麼不是'A | B | C | 1 | D'?滿足條件「A,B,C」匹配並且「D!= x」 – karakfa
此Q不清楚且不完整。請指定字段分隔符和文件比較方法(即compare * file1,line1,fields {1,2,3,5}'* to * file2,line1,fields {1,2,3,5}'*或別的東西)。包括你編寫的代碼來解決這個問題。 – agc
正如問題中提到的字段分隔符是|。 將文件1的第1,第2和第3字段與文件2的第1,第2和第3進行比較,如果匹配,則比較兩個文件的第5字段。如果第5個字段不同,則輸出應該是file1的第1,第2和第3個字段,否則應該繼續檢查其他行。 – mj0889