Hello All,
I have 2 files
1 ) source file eg
asasa 1.2.3.4 adfhsdfsdfasdf
zxzxzx 2.3.4.56 dsadasdasdsadasd
kjjkjkjk 30.3.4.5 asdsadsadsadsadsad
vxcvxcvx 1.2.3.4 qwewqewqeqweqwe
2) patern file
1.2.3.4 A
2.3.4.56 B
30.3.4.5 C
I need the source to be changed to
asasa A adfhsdfsdfasdf
zxzxzx B dsadasdasdsadasd
kjjkjkjk C asdsadsadsadsadsad
vxcvxcvx A qwewqewqeqweqwe
Can this be done using a shell script?
Please help
Scott
2
/tmp # cat Test
awk '
NR == FNR { A[$1] = $2; next }
{ print $1, A[$2], $3 }
' pattern source
./Test
asasa A adfhsdfsdfasdf
zxzxzx B dsadasdasdsadasd
kjjkjkjk C asdsadsadsadsadsad
vxcvxcvx A qwewqewqeqweqwe
Shorter
awk 'NR==FNR{a[$1]=$2;next}{$2=a[$2]}1' pattern source
---------- Post updated at 04:53 PM ---------- Previous update was at 03:55 PM ----------
# echo 'NR==FNR{a[$1]=$2;next}{print $1,a[$2],$3}'|wc -c
42
# echo 'NR==FNR{a[$1]=$2;next}{$2=a[$2]}1'|wc -c
34
8 only