awk是一个强大的文本分析工具,awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

通常获取某一行时,我们会使用 “grep 关键字“进行查找,但在读取某一列时,就非awk莫属。

使用方法

awk 'pattern {action}' {filenames}

pattern: 正则表达式或者关键字,既可以过滤出需要分析的语句,以"/"始以“/”终。

action:action在一个花括号中,表示一个逻辑编码块,通常只需要‘{print $数字}’。

参数 : -F  '关键字' 表示使用关键字进行切片。

如何获取Id这列:nova service-list | awk '{print $2}' 。就这么简单,注意花括号用单引号。默认是从1开始的,0表示全部。

但此刻只想获取数字,不打印出Id,这时只需要在{}中添加打印条件即可。nova service-list| awk '{if (NR>3) print $2}'

使用 -F 参数,使用:切片/etc/passwd 获取用户名。

使用pattern 匹配,相当于使用grep 进行一次删选,然后再执行awk分割打印,比如打印出包含var的用户

从中获取的id号,我们可以继续编程,查询每个id的信息。比如id是用户id,就可以通过id查询用户的信息。如果一个一个查,势必比较慢,这时可以借助linux的for循环助力。这里查询openstack的flavor并展现每个flavor的信息。展示一个flavor的信息:

在awk中NR 表示number row 行号, FR 表示field number列号

for line in `nova flavor-list |awk '{if(NR>3)print $2}'`;do echo $line;nova flavor-show $line;done

在for...in...do...done,每句都需要以分号隔开。可以从中再用grep命令选出flavor中每个的vcpus行。 

在使用grep命令时,如果是选取其中vcpus和ram都进行展示,则需要 "\|" 进行或选取。\对|进行转义,表示或运算,而不是|字符串

最新文章

  1. 利用for循环找出1000以内的质数
  2. Java 之 常用类(二)
  3. 如何用jenkins实现自动化构建新版本和二维码下载
  4. WinForm richtextbox 关键字变红色
  5. [转]java.sql.SQLException: 无效的列索引
  6. 【360开源】thinkjs:基于Promise的Node.js MVC框架 (转)
  7. SCOM资源池
  8. 李洪强iOS开发支付集成之银联支付
  9. 一个简单json数据提交实例
  10. ThinkPHP框架的网站url重写
  11. 安装Microsoft oneDrive(原skyDrive)
  12. table 自动换行
  13. 解开神秘面纱之“AngualrJS 中指令相关的嵌入作用域和模板作用域”
  14. 小程序App.js 传递数据给实例(app异步数据问题)
  15. ssh 端口转发实践
  16. 2019 年起如何开始学习 ABP 框架系列文章-开篇有益
  17. jQuery使用(二):DOM样式操作和属性操作
  18. 剑指offer二十之包含min函数的栈
  19. JAVA面对对象(二)——继承、方法的覆写
  20. java 转义符

热门文章

  1. HashMap扩容机制
  2. Java课程作业之动手动脑(三)
  3. raw格式和qcow2格式
  4. 64位操作系统(Windows 2008 R2 X64)ASP.NET 调用32位Excel,word 出现401 – 未授权: 由于凭据无效,访问被拒绝。
  5. 【ASP.NET 问题】IIS发布网站后出现“检测到在集成的托管管道模式下不适用的ASP.NET设置”的解决办法
  6. CustomJSProperties珍藏版。目的是减少客户端的代码数量,但是又能将服务器数据传输给客户端。关键是:数据是实时更新的!!!!
  7. 完美解决ubuntu下sublime中文输入问题
  8. day10-连接mysql虚拟机报错
  9. Tomcat命令
  10. javascript_ajax 地址三级联动