暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

三剑客命令:awk

蜜蜂点滴 2020-02-25
741

一、awk简介

awk是一种语言,适合文本处理和报表生成,借鉴了某些语言的精华如c语言等。awk是三剑客老大。grep 过滤查找内容;sed 取行,替换,删除,追加内容;awk 取列。

二、

语法:awk [option] 'pattern{action}' file

参数:-F  指定分隔符 #awk -F ":" '{print $1}' awk.txt

                                 #awk -F ":" '{print $1,$5}' awk.txt

$1 表示第一列

$2 表示第二列

...

$NF 表示最后一列

$NF-1 表示倒数第二列

$NF-2 表示倒数第三列...

NR 表示行号

打印第1、3列及最后一列:

    #awk -F":" '{print $1,$3,$NF}' awk.txt ;

取第2行到第3行的内容:

    #awk 'NR>1&&NR<4' awk.txt;

删除r开头的行:

    #awk '/^[^r]/' awk.txt;

打印第1-3行,并打印行号:

    #awk '{print $1,$2,$NR,NR}' awk.txt ;

取IP地址:

    #ifconfig eth0|awk 'NR==2{print $2}';

     #ifconfig eth0|awk 'NR==2{print $2}'|awk -F ":" '{print $2}';

+表示连续的也为分隔符:

    #ifconfig eth0|awk -F "[: ]+" 'NR==2{print $4}';


补:

cut 按列切割

参数:-d 指定分隔符

         -cn1-n2 从第n1个字符开始输出到第n2个字符

        -fn 定列n是数字

#cut -d 'd' -f1 grep.txt ,必须是字符分割


文章转载自蜜蜂点滴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论