I got a sample file like this.
$ cat test
12|13|100|s
12|13|100|s
100|13|100|s
12|13|100|s
I want to replace all 100 by 2000 only in 3rd field using "awk"
This is replacing all 100's
$ awk -F "|" '{gsub( /100/,"2000");print}' test
12|13|2000|s
12|13|2000|s
2000|13|2000|s
12|13|2000|s
I tried using something like this also - '$3 ~ /100/
but no luck
Please help.
HTH,
jkl_jkl
system
2
use sed instead.
/home/kamitsin>sed 's/|100/|2000/g' s2
12|13|2000|s
12|13|2000|s
100|13|2000|s
12|13|2000|s
Cheers,
K
Try this:
awk -F "|" '{ if ( $3 == 100 ) print $1"|"$2"|"2000"|"$4 }' test
awk 'BEGIN{OFS=FS="|"}$3==100{$3=2000}{print}' file
This is a nice reply(more generic) , worked for me Thanks
Jolly
6
Hi All,
Need a quick help on the similar issue...I am trying to replace the 87th column ina file with some other value but this command doesn't work for me.
awk 'BEGIN{OFS=FS=";"}$87==10000019{$9=123456700}{print}' ab
Can someone help please...