【发布时间】:2017-03-12 12:20:56
【问题描述】:
谢谢。
我有 2 个 csv 文件,我需要对它们进行比较并报告它们是否不同。两个文件中的文件格式相同,甚至两个文件中的第一列数据(A列)具有相同的内容(它的标题信息)。
尝试使用awk命令,但有条件不知道如何实现。
条件:
一个。需要排除前 2 行(因为不需要比较)。这可以通过这样做来实现吗:
NFR=NR > 2
b.如果任何值不同,则需要在输出中报告标头信息及其各自的服务器名称以及值。
文件1.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,
文件2.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),只有那些特定的列数据被比较 b/w 文件吗?
【问题讨论】:
-
欢迎来到 StackOverflow!您的问题的答案是“是的,有可能”。请查看stackoverflow.com/help/how-to-ask 以获取有关改进此问题的提示。特别是,它需要包含您尝试解决问题的代码。我们不是免费工作的短期程序员,我们是一个人们互相帮助改进我们的手艺的社区。span>
-
当然是ghoti。明白你的意思。我忘了添加我的代码初始帖子。今后的注意事项将包括。谢谢,。