{ revline = "" for (i=1;i<=length;i++) { revline = substr($0,i,1) revline } } END{print revline} 不知道,substr是如何用的,请指教,谢谢
我要用awk按位置分割连续的字符串,但是遇到中文的时候出现异常,请大侠帮忙分析一下; 文件格式: bms1.txt 2008-12-190402405494172农村信用合作社 44023910 2008-12-190102452000012中国工商银行 41024510 2008-12-190102452000012中国工商银行 41024510 awk命令: awk '{printf substr($0,24,36)}' bms1.txt 显示为36个空格
现在有文件1.txt 1 123 200.00 代理他行取款 2 123 200.00 代理他行取款自动冲正 3 222 3000.00 ATM代理本行取款 4 222 3000.00 ATM代理本行取款自动冲正 如何用awk匹配$4中的“自动冲正”? 想用awk的内部串函数,substr(s,p,n) awk 'substr($4,?,?)~/自动冲正/ {print $0}' 1.txt 找出2,4行 PS: 或者直接匹配$4中的“自动冲正” [ 本帖最后由 xy-coordinate 于 2007-5-11 16:54 编辑 ]
为什么cat /txt | awk '{print substr($1,1,10)}' 中的10字不能用变量代替? 如写成: a=10 cat /txt | awk '{print substr($1,1,$a)}' 就会把整行打印出来。 如果用数字代替才能实现截取字符的功能? 在线等,谢谢大家,
awk的substr虽然返回的是string,但只要全是数字,也可以当成数值来用。 但下面这一个例子我却怎么也搞不对。 echo "8:30"|awk '{hh=substr($0,1,1);if(hh>15){print"yes"}else{print"no"};print hh}' yes 8 明明hh=8,但hh>15却为真??? 只有当和hh相比较的值的位数相同时才不会有问题。 如 echo "8:30"|awk '{hh=substr($0,1,1);if(hh>9){print"yes"}else{print"no"};print hh}' no 8 怎么样使位数不一致时结果也正确呢?
详情请见天地全球通•中国网(http://www.heaworld.com)成立于2004年3月,总部位于青岛市高新区,是由神力企业集团及AID、August Capital、HOSCH、VERTOL、欧亚投资、瑞典风险投资等多家国际公司共同合作组建的以服务中小型企业为宗旨的B2B电子商务企业平台。 天地全球通•中国网的目标是建立采购商和供应商之间的互动信息交流平台,使企业在采购和销售活动中能够节省时间,降低成本,同时最大限度的增加企业营销的机会...