[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

gawk如何按字符长度进行截取

本帖最后由 pcl_test 于 2018-6-10 13:20 编辑

gawk如何按字节长度进行截取
如下数据
26330398    哈萨克斯坦国         16
34790104    UNITED AMARA              16

通过gawk进行截取标红的部分,第一行可以使用 gawk函数 substr($0,12,6)就可以截取,但是第二行就只能substr($0,12,12)
如何通过字节进行截取?

求助啊。。。大神们快帮帮忙啊!

TOP

回复 3# cfwyy77_bat


   

    数据见附件
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

回复 5# cfwyy77_bat


    grep -Po "(?<=\d{8}\s{4}).+(?=\d{2} [a-zA-Z]{3,})" "f:\bbb.txt"

    我是在win10下,用的是win环境下的grep.exe,这样没有任何打印输出啊?

TOP

回复 7# cfwyy77_bat


   
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

回复 10# cfwyy77_bat


    这已经足够了!非常感谢你的支持!

TOP

回复 12# Batcher


    能行!但是还好像还是没有解决我的问题!

TOP

回复 14# Batcher


   

    大神!你好,原数据见附件。。。
   
    数据中一共是7个字段的数据,由于没有分割符,但又不能使用空格做分隔符,因为第二个字段中含有空格,
    所以,问题就是如何才能正确的区分这些字段。如果能够区分开,最好能将字符数据末尾的空格去掉。最终变成如下的数据。
  1. 26330398|哈萨克斯坦国民储蓄银行|16|50|1|2|A
  2. 26330398|哈萨克斯坦国民储蓄银行|16|51|1|2|A
  3. 26330398|哈萨克斯坦国民储蓄银行|16|52|1|2|A
  4. 26330398|哈萨克斯坦国民储蓄银行|16|53|1|2|A
  5. 34790104|UNITED AMARA BANK|16|400|1|1|A
  6. 36100586|Dubai lslamic Bank Pakistan|16|700|1|1|A
  7. 36100586|Dubai lslamic Bank Pakistan|16|701|1|1|A
  8. 36350762|Bank of Tajikistan Amonatbank|16|800|1|2|A
  9. 69410000|河北省农村信用社联合社|16|812|1|2|A
  10. 14144500|山东农村信用联合社|16|9|1|1|U
  11. 15201000|北京顺义银座村镇银行|16|7002|1|1|U
  12. 15204280|江西赣州银座村镇银行|16|7003|1|1|U
  13. 15205840|深圳福田银座村镇银行|16|7001|1|1|U
  14. 15206900|重庆渝北银座村镇银行|16|7006|1|1|U
  15. 15206925|重庆黔江银座村镇银行|16|7007|1|1|U
复制代码
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

返回列表