- 论坛徽章:
- 0
|
回复 #5 edei2004 的帖子
是不是疏忽了?你把$7误写为$6了。
awk -F \' '{sub(/-/,"",$2);sub(/-/,"",$7);sub(/-/,"",$7);print $2,$3,$4,$5,$6,$7}' urfile
另外,看到楼主的写法,我翻看了awk的帮助手册,发现以下写法也不错。
awk -F \' '{gsub(/-/,"",$2);gsub(/-/,"",$7);print $2,$3,$4,$5,$6,$7}' urfile
韩春雨 男 1986-08-15 - 吉林伊通满族-自治县吉林伊通满族自治县 22010010
张伟东 男 1978-07 - 吉林长春市绿园区吉林长春市绿园区 22040010
陈立武 男 1970-06-21 - 吉林长春市朝阳区吉林长春市 22020010
王愈 男 1971-08-28 - 吉林长春市朝阳区吉林长春市朝阳区 22050010
【疑惑】awk中函数gsub、sub返回的结果都是匹配个数,但好像同时也完成了字段的替换操作,否则print上述字段时为何是替换后的结果呢?
[ 本帖最后由 li_haigang 于 2008-8-14 11:22 编辑 ] |
|