Пожалуйста, смотрите ниже сценарий - на этом
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