`
kone_wu
  • 浏览: 19382 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

awk 一些实用的用法

 
阅读更多

在awk中 ,需要注意以下的几个简写

$0    //显示所有

$1    //显示第一列

$2    //显示第二列

以此类推

 

 

awk '{print $1,$2}' /etc/fstab      

显示/etc/fstab文件的 第一, 第二列

 

awk 'BEGIN {print "yes,this is begining\n"} {print $1,$2}' /etc/fstab   

显示/etc/fstab文件的 第一, 第二列,并在开头的地方加上指定的语句

 

 

awk 'END {print "yes,this is begining\n"} {print $1,$2}' /etc/fstab   

显示/etc/fstab文件的 第一, 第二列,并在尾部的地方加上指定的语句

 

awk '{if($2~/roc/) print $0}' /etc/fstab

精确查找,寻找在/etc/fstab中 第二列 含有 roc 字符的 字符,并输出整行

可以理解为 如果$2 匹配 roc 则打印出整行

 

等同于 

awk '$2~/roc/' /etc/fstab

 

awk '$2=="\/proc" {print $0}' /etc/fstab

查找第二列等于 /proc ,并输出整行

 

awk '$2!=="/proc" {print $0}' /etc/fstab

加上!表示取反,也就输出除开第二列是/proc的所有行

 

 

awk '$0~/[Pp]ro/ {print $1,$2 "hello word"}' /tmp/test 

[]表示只要匹配里面内容任意一个即可或是没有匹配到里面的内容

 

 

awk '{if($5>0) print $0 "yes"}' /tmp/test 

如果第五列的值大于 0 则输出所有,并在尾部加上字符串 yes

 

 

awk '{if($0~/(pts|log)/) print $0}' /tmp/test 

等同于

awk '$0~/(pts|log)/' /tmp/test

匹配整行是否含有pts或是log字符

 

awk '{if($2~/(pts|log)/ && $3=="devpts") print $0}' /tmp/test 

加多一个相与的条件

 

NR打印出文件的记录个数

awk '{print $0} END {print "count:" NR}' /tmp/test   

可在最后打印出有多少行

 

NF 表示有多少列

 

 

echo $PWD | awk -F/ ' {print $NF}'

$PWD 为linux的内置变量,其值为当前路径,

-F/ 表示以/为分隔符

$NF 表示为最后一个元素

最终的结果是取出当前的文件夹名字

echo $PWD | awk -F/ ' {print $2}'  //则表示 获取的是第二个元素 

 

ll /aclog/bugreport/ |awk '{if($1~/-/) print $NF}' 

获取指定目录下第一列 含有 - 字符的 文件名

 

ll | awk 'BEGIN {NUM=17} {if($7>NUM) print $9}'

先在 BEGIN中定义一个变量

 

ll |awk '{$10=$7+1;print $0}'

本来是没有第10列的,然后新增一个域,且值为 $7+1

 

ll |awk '{total+=$7;print $7};END {print "total:" total}'

统计第7列的总和,并在结尾打印出来

 

 

 

awk 'gsub(/none/,"hehe")' /tmp/test 

替换,gsub(r,s) ,s替换r

 

sed 's/none/hehe/' /tmp/test 

以上两句话的作用差不多,但是awk只显示含有none的行,sed则会显示所有行

 

分享到:
评论

相关推荐

    AWK用法AWK用法AWK用法

    awk ‘/101/’ file 显示文件file中包含101的匹配行。 awk ‘/101/,/105/’ file awk ‘$1 == 5′ file awk ‘$1 == “CT”‘ file 注意必须带双引号 awk ‘$1 * $2 >100 ‘ file awk ‘$2 >5 && $2<=15' file

    awk详细用法小结awk awk

    因为遇到了awk问题,所以找到这个小结,共享一下

    awk 基本的一些常用用法

    把实际应用中一些常用的awk的用法进行了总结,包括多文件操作,与shell之间的相互调用等

    awk 工具用法说明

    awk 工具用法说明 awk 工具用法说明 awk 工具用法说明

    linux bash之 awk用法

    linux bash 之awk,awk的详尽用法

    sed ,awk用法

    sed,awk用法,sed,awk是linux开发必备知识,公司常用技术,很好很强大的sed和awk用法介绍,绝对值得您收藏学习。好资源大家一起分享!

    awk用法小结--有关awk的材料

    awk用法小结 - - - by ruson 2006.4 NTU 1. awk非常适合于结构化的文本文件(行、列数据)复杂处理。相对于sed而言,它可进行复杂的编程处理,并且可以产生复杂的报表输出。 2. awk通常有三个版本,旧awk、nawk...

    awk用法详解

    awk 还具有一些 内建功能, 使得awk 擅于处理具数据行(Record), 字段(Field) 型态的资料; 此外, awk 内建有pipe 的功能, 可将处理中的数据传送给外部的Shell 命令加以处理, 再 将Shell 命令处理后的数据传回awk ...

    awk入门到精通.pdf

    由于awk具有上述特色, 在问题处理的过程中, 可轻易使用awk来撰写一些小工具; 这些小工具 并非用来解决整个大问题,它们只扮演解决个别问题过程的某些角色, 可藉由Shell所提供的pipe 将数据按需要传送给不同的小工具...

    关于awk的用法总结

    在shell 编程中,常需要用awk ,可以非常方便的解决些需求,这是一个关于awk的用法总结!

    awk用法__都是例子

    awk用法__都是例子 awk用法__都是例子 awk用法__都是例子 awk用法__都是例子

    awk 用法变量名 含义

    awk '/101/' file 显示文件file中包含101的匹配行。 awk '/101/,/105/' file awk '$1 == 5' file awk '$1 == "CT"' file 注意必须带双引号 awk '$1 * $2 >100 ' file awk '$2 >5 && $2<=15' file

    MOXA_AWK3121配置方法

    MOXA_AWK-3121 配置方法及要点说明.pdf 挺好的,详细

    windows 下的awk 命令工具

    windows 下的awk 命令工具

    AWK用法详解(非常精辟)

    AWK用法详解(非常精辟) AWK用法详解(非常精辟)

    LINUX下awk命令详解

    awk命令各种用法详解,有案例 awk命令各种用法详解,有案例 awk命令各种用法详解,有案例

    shell命令awk使用方法

    shell命令awk使用方法

    linux中awk的使用方法.html

    linux中awk的使用方法 设计得问题比较简单 ;方便理解;

    三剑客之awk的基础用法+语法

    三剑客之awk的基础用法+语法

    LINUX的awk和sed的常用用法

    LINUX的awk和sed的常用用法 LINUX的awk和sed的常用用法

Global site tag (gtag.js) - Google Analytics