【发布时间】:2015-03-28 22:54:57
【问题描述】:
)。需要你的帮助。我有两个 shell 脚本,它们产生如下输出
脚本 1 输出 (abc.txt) -->
application_name Status
abc Available
def NotAvailable
xyz Available
脚本 2 输出 (def.txt)-->
application_name Status
abc NotAvailable
def Available
xyz Available
如您所见,两个文件中的应用程序名称顺序相同,但状态不同,例如在一个文件中,应用程序 abc 的状态可用,而在另一个文件中则不可用。我必须编写一个 awk 脚本来输出第三个文件,其中包含每个应用程序的最终状态。例如如果文件 abc.txt 中应用程序 abc 的状态为“available”,而文件 def.txt 中为 NotAvailable,则应用程序的状态应为“NotAvailable”。请在下面的示例输出文件中找到 -
最终输出文件 (xyx.txt)
application_name status
abc NotAvailable
def NotAvailable
xyz Available (since the status of this application is "available" in both the input file).
我尝试使用以下命令执行此操作,但它不起作用。它给出了错误的输出
awk 'NR==FNR {f1[$1]=$0; next} $1 in f1 && $0 != f1[$1] || $0 == f1[$1]' abc.txt def.txt
【问题讨论】:
标签: awk