【发布时间】:2017-06-01 00:20:11
【问题描述】:
data.txt(数据;键;数据;键):
Data1;Key1;DataA;KeyA
Data2;Key2;DataB;KeyB
Data3;Key3;DataC;KeyA
Data4;Key2;DataC;KeyB
Data3;Key1;DataB;KeyA
Data2;Key5;DataA;KeyB
keys.txt(键;值;键;值;键;值):
Key1;10;keyA;100;keyB;1000;
Key2;20;keyA;200;keyB;2000;
Key3;30;keyA;300;keyB;3000;
Key4;30;keyA;400;keyB;4000;
因此,与 Key1 位于同一行的 KeyA 给出 KeyA=100。
同样,与 Key2 位于同一行的 KeyA 给出KeyA=200。
KeyB 的类似过程。
输出(将keys.txt中适当的两个值附加到data.txt的每一行):
Data1;Key1;DataA;KeyA;10;100
Data2;Key2;DataB;KeyB;20;2000
Data3;Key3;DataC;KeyA;30;300
Data4;Key2;DataC;KeyB;20;2000
Data3;Key1;DataB;KeyA;10;100
Data2;Key5;DataA;KeyB;-;-
例如,data.txt 中的第一行包含 Key1 和 KeyA,因此在 keys.txt 中找到包含 key1 和
附加其对应的值,然后附加 KeyA 或 KeyB,在这种情况下,KeyA 为 100。因此,keys.txt 中第一行的 KeyB 不是
用于输出第一行中的任何内容。
data.txt 中的最后一行包含 Key5,但 keys.txt 中没有 Key5,因此附加一个默认值;-;-
【问题讨论】:
-
糟糕,您忘记发布代码了! StackOverflow 旨在帮助人们修复他们的代码。这不是免费的编码服务。任何代码都比没有代码好。即使您不知道如何编写它,元代码甚至会展示您认为程序应该如何工作。请查看stackoverflow.com/help/how-to-ask 以获取有关改进此问题的提示。
标签: awk multiple-columns key-value substitution