小编mnr*_*mnr的帖子

AWK - 如果 Test2 中的列在 Test1 的行中找到,则在 Test1 中插入 1 else 0

我有两个文件 Test1 和 Test2。

测试1:

10AP23Q   ERTY
10AP20J   FDGC
978J15K   BGTD
98KT23M   ERTY
76VU14P   FDGC
Run Code Online (Sandbox Code Playgroud)

测试2:

23
19
15
Run Code Online (Sandbox Code Playgroud)

Test1 是一个固定宽度的文件。如果 Test2 中的列在 Test1 中的行中找到,则插入 '1' ,否则在 Test1 中的位置 9 处插入 '0'。

预期输出:

10AP23Q 1 ERTY
10AP20J 0 FDGC
978J15K 1 BGTD
98KT23M 1 ERTY
76VU14P 0 FDGC
Run Code Online (Sandbox Code Playgroud)

我试过下面的代码。在“}”附近出现解析错误。

awk 'BEGIN {if('NR==FNR {a[$1];next} (substr($0,5,2) in a)' test2 test1) (substr($0,9,1)="1") else(substr($0,9,1)="0")}'
Run Code Online (Sandbox Code Playgroud)

欣赏解决方案。

awk

2
推荐指数
1
解决办法
114
查看次数

标签 统计

awk ×1