我有两个文件 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 ×1