如何通过键值对创建表?

如何通过键值对创建表?

我想检查大量键值对之间的差异。我知道我可以编写一些代码来执行此操作,但我觉得会有更简单的方法来实现这一点。这些值来自 HTTP 请求 URL。

假设我有以下键值对,它们并不总是按顺序排列的:

第 1 组:

a=1
b=2
c=3

第 2 组:

a=2
c=5
b=7

第 3 组:

b=5
c=2
a=8

第 4 组:

a=1
c=6
b=7

我正在寻找这样的输出,这样我就可以轻松地看到差异:

我正在寻找的输出

如何才能轻松实现这一点,而不必编写自己的程序?

答案1

你可以使用awk这个:

cat file1 file2 | awk -F "=" '{i[$1]=(i[$1] " " $2)} END {for (key in i) { print key " " i[key]}}'

示例输出:

d  104 42
a  8 9
b  9 13
c  22 -1

sort另外,如果您希望值按一致的顺序排列,请通过管道传输。

相关内容