我有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