在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 ‘/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的用法进行了总结,包括多文件操作,与shell之间的相互调用等
awk 工具用法说明 awk 工具用法说明 awk 工具用法说明
linux bash 之awk,awk的详尽用法
sed,awk用法,sed,awk是linux开发必备知识,公司常用技术,很好很强大的sed和awk用法介绍,绝对值得您收藏学习。好资源大家一起分享!
awk用法小结 - - - by ruson 2006.4 NTU 1. awk非常适合于结构化的文本文件(行、列数据)复杂处理。相对于sed而言,它可进行复杂的编程处理,并且可以产生复杂的报表输出。 2. awk通常有三个版本,旧awk、nawk...
awk 还具有一些 内建功能, 使得awk 擅于处理具数据行(Record), 字段(Field) 型态的资料; 此外, awk 内建有pipe 的功能, 可将处理中的数据传送给外部的Shell 命令加以处理, 再 将Shell 命令处理后的数据传回awk ...
由于awk具有上述特色, 在问题处理的过程中, 可轻易使用awk来撰写一些小工具; 这些小工具 并非用来解决整个大问题,它们只扮演解决个别问题过程的某些角色, 可藉由Shell所提供的pipe 将数据按需要传送给不同的小工具...
在shell 编程中,常需要用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_AWK-3121 配置方法及要点说明.pdf 挺好的,详细
windows 下的awk 命令工具
AWK用法详解(非常精辟) AWK用法详解(非常精辟)
awk命令各种用法详解,有案例 awk命令各种用法详解,有案例 awk命令各种用法详解,有案例
shell命令awk使用方法
linux中awk的使用方法 设计得问题比较简单 ;方便理解;
三剑客之awk的基础用法+语法
LINUX的awk和sed的常用用法 LINUX的awk和sed的常用用法