awk 里的substr函数用法举例:

要截取要截取的内容1:

F115!16201!1174113017250745 10.86.96.41 211.140.16.1 200703180718
F125!16202!1174113327151715 10.86.96.42 211.140.16.2 200703180728
F235!16203!1174113737250745 10.86.96.43 211.140.16.3 200703180738
F245!16204!1174113847250745 10.86.96.44 211.140.16.4 200703180748
F355!16205!1174115827252725 10.86.96.45 211.140.16.5 200703180758

使用 awk 内置的取子串函数提取输入文件中的手机号
$ awk -F '[ !]' '{print substr($3,6)}' test.txt
13017250745
13327151715
13737250745
13847250745
15827252725

要截取的内容2:
2007-08-04 04:45:03.084 - SuccessfulTradeResult(status: 1, currencyPair: 'USDJPY', tradeId: '17389681', clientReference: '20070803COVR00013176', tradeDateTime: '2007-08-03T19:45:02', dealerUserId: 'PANTARHEI.API1', clientName: 'PANTA RHEI SECURITIES CO LTD ', clientId: 'EU0271383', counterpartyName: 'DB', buySell: 'S', nearLeftAmount: 1810000.0, nearRightAmount: 2.138696E8, nearRate: 118.16, nearValueDate: '2007-08-07')

操作指令:
 grep -v 'errorMessage' ./GWDBCpTradeResponse.20070803 | awk -F',' '{printsubstr($4,20)","substr($3,12,8)","substr($2,17,6)","substr($5,18,19)","substr($9,21,2)","substr($10,12,1)","substr($11,18)","substr($12,19)","substr($13,12)","substr($14,18,10)}' | tr -d "'"

截取结果:
20070803COVR00013176,17389681,USDJPY,2007-08-3T19:45:02,DB,S,1810000.0,2.138696E8,118.16,2007-08-07

解释:
substr($4,20)     --->  表示是从第4个字段里的第20个字符开始,一直到设定的分隔符","结束.

substr($3,12,8)  --->  表示是从第3个字段里的第12个字符开始,截取8个字符结束.

substr($3,6)     --->  表示是从第3个字段里的第6个字符开始,一直到设定的分隔.

最新文章

  1. oracle 11g 服务启动时提示1053错误,服务启动不了,重新配置监听解决问题
  2. ruby中 Win32ole的各应用操作方法(word excel Outlook IE)
  3. 如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!
  4. [转]手机浏览器的User-Agent汇总
  5. [VMware]设置VM虚拟机随系统自动启动
  6. scala中的=>符号的含义
  7. DM8168 环境搭建(1)
  8. jQuery实现按Enter键触发事件?
  9. angular-route 里面templeteUrl 动态加载
  10. Visual Studio中的lib的链接顺序
  11. LeetCodeOJ. String to Integer (atoi)
  12. 【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置
  13. ucos调度器详解
  14. JavaScript数组操作总结
  15. Rust语言之HelloWorld
  16. vscode中文配置说明
  17. swift 实践- 12 -- UIPickerView
  18. 并发编程基础之volatile关键字的用法
  19. mahout学习
  20. 如何扎实自己的Java基础?

热门文章

  1. 迭代器适配器(二)general inserter的实现
  2. 【Android开发-6】了解内情,我们须要一些调试和測试手段
  3. Hbase 认识及其作用
  4. mongoDB 使用总结
  5. HTTP协议断点续传
  6. Android开发之httpclient文件上传实现
  7. Linux的IO栈
  8. pycharm下: conda installation is not found ----一个公开的bug的解决方案
  9. codeforces #364c They Are Everywhere 尺取法
  10. SpringBoot Idea 启动报错 Process finished with exit code 1