文件d.txt如下内容

ggg 1
portals: 192.168.5.41:3260
werew 2
portals: 192.168.5.43:3260

如何把文件d.txt内容变为如下内容

ggg 192.168.5.41:3260
werew 192.168.5.43:3260

解题思路:

[root@localhost study]# awk '/port/{print a" "$2}{a=$1}' d.txt
ggg 192.168.5.41:3260
werew 192.168.5.43:3260

'/port/{print a" "$2}{a=$1}'

处理第一行的时候,以port开头吗?很明显,不以port开头,所以那个pattern不匹配,action不执行。但执行了后面的a=$1

处理第二行的时候,以port开头,打印出来a和本行$2,再处理就是个循环过程。

详细步骤:

由于第一行没有匹配以port开头的,所以print a" "$2不执行,执行a=$1. a=ggg

由于第二行有匹配以port开头的,所以print a" "$2行执行,由于a=ggg,所以输出 ggg 192.168.5.41:3260

由于第三行没有匹配以port开头的,所以print a" "$2不执行,执行a=$1. a=werew

由于第四行有匹配以port开头的,所以print a" "$2行执行,由于a=werew,所以输出 werew 192.168.5.43:3260

由此得到结果:

ggg 192.168.5.41:3260
werew 192.168.5.43:3260

最新文章

  1. Datazen自定义地图
  2. web前端之html5开发中常用的开发工具
  3. Spring Boot 实践折腾记(三):三板斧,Spring Boot下使用Mybatis
  4. 解决Cannot change version of project facet Dynamic Web M
  5. C# 超时类
  6. 64.OV7725初始化配置
  7. React Native学习-调取摄像头第三方组件:react-native-image-picker
  8. VB操作CAD
  9. js中点击事件方法三种方式的区别
  10. VS2005 检测内存泄漏的方法(转载)
  11. webserver/CGI
  12. showModalDialog(转)
  13. django 学习笔记(一)搭建基础环境
  14. CentOS 7.0 64位 安装TFTP
  15. Js里面的数组去重方法
  16. ASP.NET WebForm 通过 PagedDataSource 实现 Repeater 的分页
  17. javax顶层接口分析
  18. laravel启动过程简单解析
  19. js 获取当前日期或者前、后N天yyyy-MM-dd的方法
  20. 数据重组:对一堆相似字典进行分类统计(shidebin)

热门文章

  1. ZOJ3158 【DFS】
  2. [Xcode 实际操作]九、实用进阶-(32)项目的打包上传和提交审核以及下架处理
  3. hibernate错误总结2
  4. vi/vim打开文件提示Found a swap file by the name
  5. Django (五) modeld进阶
  6. MySQL 命令(一)
  7. UWP Popup 弹出提示框
  8. Codeforces Round #396 (Div. 2) D
  9. 转 shell模拟数据库的读写
  10. 关于 ie8不兼容的一些方法