使用 shell 脚本,我需要将两个文件中的数据合并到一个文件中

0 text-processing

文件 1 包含:

hour value1           
01    25               
02    24              
03    24               
04    27  
05    30
Run Code Online (Sandbox Code Playgroud)

文件 2 包含

hour   value2   
01     03   
03     05   
05     03
Run Code Online (Sandbox Code Playgroud)

我希望结果是这种形式:

hour value1 value2   
01     25     03  
02     24     00  
03     24     05  
04     27     00  
05     30     03 
Run Code Online (Sandbox Code Playgroud)

Kus*_*nda 5

$ join -o1.1,1.2,2.2 -a1 -e 00 file1 file2 | column -t
hour  value1  value2
01    25      03
02    24      00
03    24      05
04    27      00
05    30      03
Run Code Online (Sandbox Code Playgroud)

通过-o1.1,1.2,2.2我们指定我们想要查看的关系连接操作的哪些输出字段。其格式为file_number.field_number.

随着-a1我们说,我们希望有从第一个文件的所有行,即使它们不匹配在第二个文件什么。

随着-e 00我们说任何缺失值应该由字符串替换00

这假设两个文件的排序方式相同。

  • @RomanPerekhrest 没有`-o ...` 就行不通。 (2认同)