awk好强大
之前只使用过sed处理配置文件的配置信息,后来看一些博客里屡屡提到awk,于是就着重看了一遍。很令我吃惊,awk简直就是一门动态语言了,其创建者也把它定义为样式扫描和处理语言。
且先不说sed能处理的事情,awk都能处理。它的长处在于解析,分离和重新组织具有固定格式的文本信息。
先举个简单的例子:df -h用于查看各个分区的磁盘使用情况
# df -h -BG
文件系统 1G-块 已用 可用 已用% 挂载点
/dev/sda5 19G 3G 16G 13% /
udev 1G 1G 1G 1% /dev
tmpfs 1G 1G 1G 1% /run
none 1G 0G 1G 0% /run/lock
none 1G 1G 1G 1% /run/shm
/dev/sda2 438G 113G 304G 28% /home
统计sda2分区剩余空间的方式(单位G字节)是:df -h -BG | awk '/sda2/ {print substr($4, 1, length($4)-1)}' 直接输出:304.
当然还有好多情况下可以使用。
欢迎拍砖……
------解决方案--------------------我也来一个
df -h -BG
------解决方案--------------------
awk '/sda2/{gsub(/G/,"",$4);print $4}'
推荐阅读教程:
《O'Reilly sed & awk 2nd Edition》
------解决方案--------------------这是个炫耀贴!
你让我这样不会awk的人情何以堪!
哼!
------解决方案--------------------
每次写这么一坨我都要重新看一遍awk的语法~~~
------解决方案--------------------第一代用bash+sed+awk
第二代用perl
后来就是python、ruby什么的了