这主要是一个方法/概念问题,我感谢您可能有的任何意见。
问题:我经常需要比较和编辑一个属性文件,这样做我主要感兴趣的是找到与旧文件相比新文件中存在的新属性。为了实现这一点,我经常使用diff old_file.prop new_file.prop
,但由于每个文件中的行数/属性(~150)很多,这种方法效率不高,而且容易出错。
样品old_file.prop
:
name.host=mycomputer1
internal.port=21
external.gateway=sample.my.machine
样品new_file.prop
:
name.host=change_me
internal.port=21
external.gateway=change_me
external.port=501
这里diff
命令将返回:
<name.host=mycomputer1
<external.gateway=sample.my.machine
>name.host=change_me
>externa.gateway=change_me
>external.port=501
在这个例子中,唯一感兴趣/想要的输出是external.port
而不是它持有的值(也许还有一个行号)。我有点熟悉sed
,但我认为如果不事先了解新文件中的属性,它就无法做到这一点。
有没有办法使用 bash 脚本有效地实现这一点?
谢谢,