我有2個csv文件,我需要對它們進行比較,如果不同則報告回來。文件格式在兩個文件中都是相同的,甚至兩個文件中的第一列數據(列A)也具有相同的內容(它是標題信息)。
嘗試使用awk命令,但有條件,不知道如何實現。
條件:
a。需要排除前兩行(因爲不需要進行比較)。可以通過這樣做來實現:
NFR=NR > 2
b。如果任何值有差異,那麼在輸出時需要返回報頭信息及其相應的服務器名稱和值。
File1.csv:
Status Check
APP servers
Server name,abc,def,ghi,jkl,mno,
Summary,,,,,,
System Start Time,Nov/12/2016 20:12:24 GMT,Nov/12/2016 20:15:38 GMT,Nov/12/2016 20:15:37 GMT,Nov/12/2016 20:15:57 GMT,Nov/12/2016 20:11:42 GMT,
System Life Time,118day.14hr.15min.19sec,118day.14hr.12min.01sec,118day.14hr.12min.03sec,118day.14hr.11min.44sec,118day.14hr.16min.01sec,
OS Version,SunOS 5.10,SunOS 5.10,SunOS 5.10,SunOS 5.10,SunOS 5.10,
Service Pack Version,Generic_147148-26,Generic_147148-26,Generic_147148-26,Generic_147148-26,Generic_147148-26,
State,Up,Up,Up,Up,Up,
File2.csv:
Status Check
APP servers
Server name,abc,def,ghi,jkl,mno,
Summary,,,,,,
System Start Time,Nov/13/2016 20:12:24 GMT,Nov/13/2016 20:15:38 GMT,Nov/13/2016 20:15:37 GMT,Nov/13/2016 20:15:57 GMT,Nov/13/2016 20:11:42 GMT,
System Life Time,118day.14hr.15min.19sec,118day.14hr.12min.01sec,118day.14hr.12min.03sec,118day.14hr.11min.44sec,118day.14hr.16min.01sec,
OS Version,SunOS 5.10,SunOS 5.10,SunOS 5.11,SunOS 5.12,SunOS 5.10,
Service Pack Version,Generic_147148-26,Generic_147148-26,Generic_147148-26,Generic_147148-26,Generic_147148-26,
State,Down,Up,Down,Up,Down,
結果/輸出:
OS Version value is different for server name ghi and jkl : 5.11,5.12
State value is different for server name abc, ghi and mno : Down,Down,Down
是否有可能排除5/6柱進行比較,以及因爲這將與日期/時間相關,因此不需要進行比較。
只能給鍵值(比如列b/c)只有那些特定的列數據被比較的黑白文件?
歡迎來到StackOverflow!你的問題的答案是「是的,這是可能的」。請查看http://stackoverflow.com/help/how-to-ask獲取有關改善此問題的提示。特別是,它需要包含用於解決問題的代碼。我們不是免費工作的短訂單程序員,我們是一個幫助彼此改進工藝的人羣。 – ghoti
當然ghoti。明白了你的觀點。我忘了添加我的代碼inital post。指出前進將包括。謝謝。 – HULK