日期:2014-05-16  浏览次数:20698 次

awk
145608514|8966854|3
12419277|11268992|122

如何把上面的文本变成下面的

145608514|8966854|.3.
12419277|11268992|.122.

就是把第三个字段的两边加上"."
------解决方案--------------------

awk -F\
------解决方案--------------------
 '/./{print $1 "
------解决方案--------------------
" $2 "
------解决方案--------------------
." $3 "."}' yourDataFile

------解决方案--------------------
awk -F\
------解决方案--------------------
 'BEGIN{OFS="
------解决方案--------------------
"}{$3="."$3"."; print $0}' infilename > outfilename
如:#cat aa
145608514
------解决方案--------------------
8966854
------解决方案--------------------
3
12419277
------解决方案--------------------
11268992
------解决方案--------------------
122
#awk -F\
------解决方案--------------------
 'BEGIN{OFS="
------解决方案--------------------
"}{$3="."$3"."; print $0}' aa
145608514
------解决方案--------------------
8966854
------解决方案--------------------
.3.
12419277
------解决方案--------------------
11268992
------解决方案--------------------
.122.
#awk -F\
------解决方案--------------------
 'BEGIN{OFS="
------解决方案--------------------
"}{$3="."$3"."; print $0}' aa > bb
#cat bb
145608514
------解决方案--------------------
8966854
------解决方案--------------------
.3.
12419277
------解决方案--------------------
11268992
------解决方案--------------------
.122.