请参阅下面的脚本 - 在此
nawk 'NR==FNR { a[$1]=$2 ; next} {for ( i in a) gsub(i,a[i])}1' file.dat 1.txt
1.TXT
ioiufeioru
dfoiduf
MO_CIF_INP438
fjkdj MO_CIF_INP
dsjhdf BP_LINKED_TETES
dehdueuh MO_INP_BPRESP
FILE.DAT
MO_CIF_INP TRO_MO_CIF_INP
BP_LINKED_TETES TRO_BP_LINKED_TETES
MO_BPID TRO_MO_BPID
MO_INP_BPRESP TRO_MO_INP_BPRESP
以及上面脚本的输出是
ioiufeioru
dfoiduf
TRO_MO_CIF_INP438
fjkdj TRO_MO_CIF_INP
dsjhdf TRO_BP_LINKED_TETES
dehdueuh TRO_MO_INP_BPRESP
我的意图是只更换匹配的单词,并不是在上面的情况下
MO_CIF_INP438
也会被替换。我们如何使用单词搜索?我试过以下情况,但没有工作
1。
nawk 'NR==FNR { a[$1]=$2 ; next} {for ( i in a) gsub(/i/,a[i])}1' file.dat 1.txt
TRO_BP_LINKED_TETESoTRO_BP_LINKED_TETESufeTRO_BP_LINKED_TETESoru
dfoTRO_BP_LINKED_TETESduf
MO_CIF_INP438
fjkdj MO_CIF_INP
dsjhdf BP_LINKED_TETES
dehdueuh MO_INP_BPRESP
2。
nawk 'NR==FNR { a[$1]=$2 ; next} {for ( i in a) gsub(\<i\>,a[i])}1' file.dat 1.txt
nawk: syntax error at source line 1
context is
NR==FNR { a[$1]=$2 ; next} {for ( i in a) >>> gsub(\ <<< <i\>,a[i])}1
nawk: illegal statement at source line 1