awk是liunx三剑客之一,用法最强,也是最方便。
它可以过滤,可以打印,可以删除,当然,最常用的方法还是过滤(取列)。
基本的格式:awk ‘print $1‘ 文件名
$1是第一列,$2第二列,$NF是最后一列,$(NF-2)倒数第三列,$0代表整列。
常用的参数有:-F,代表指定分隔符,默认是使用空格为分隔符。
[],里面可以放置多个分隔符同时使用。
例子:awk ‘{print $1}‘ awk.txt 打印的就是awk.txt文件的第一列。
awk -F ":" ‘{print $1}‘ /etc/passwd 以:为默认的分隔符,打印出第一列
awk -F ":" ‘{print $1":"$2":"$3}‘ /etc/passwd 以:为默认的分隔符。打印出第一二三列。
现在有一道题,使用awk命令取出ifconfig里面的ip地址。
ifconfig eth0|awk -F ‘[: ]+‘ ‘NR==2 {print $4}‘
这里+的意思是:和空格可以有多个,连着的多个都算一个
原文:http://zhengzhong.blog.51cto.com/3042358/1744531