awk命令合并同一文件的内容

use*_*A__ 2 bash awk sed

我有一个包含以下内容的输入文件

1 1
2 1
3 289
4 1
5 2 
0   Clear
1   Warning
2   Indeterminate
3   Minor
4   Major
5   Critical
Run Code Online (Sandbox Code Playgroud)

我想将第一种类型的行与第一列的消息合并并获取

  1 1 Warning
  2 1 Indeterminate
  3 289 Minor 
  4 1 Major
  5 2 Critical
Run Code Online (Sandbox Code Playgroud)

kon*_*box 5

只需使用awk:

awk '$1 in a { print $1, a[$1], $2; next } { a[$1] = $2 }' file
Run Code Online (Sandbox Code Playgroud)

输出:

1 1 Warning
2 1 Indeterminate
3 289 Minor
4 1 Major
5 2 Critical
Run Code Online (Sandbox Code Playgroud)