AWK实用20例子

1. 功能是打印所有输入行
awk ‘{print $0}
‘ f ilename
2. 打印输入文件第八行
awk ‘NR==8{print $0} ‘ f ilename
3.
用awk打印文件所有行的第一个字段
awk -F:‘{print $1} ‘ f ilename
4. 打印输入行总数
awk
‘BEGIN{num=0;} {num++;}END{print num} ‘ f ilename
awk ‘END{print NR}‘ f
ilename
5. 打印每行字段数
awk -F: ‘{print NF,$0} ‘ f ilename
6.
打印最后一行的最后一个字段的值
Awk -F: ‘END{print $NF} ‘ filename
7. 打印字段数大于等于4个的行
Awk
-F: ‘NF>=4{print $0} ’ f ilename
8. 打印文件所有字段的总数
Awk -F:
‘BEGIN{count=0}{count=count+NF:}{print count} ‘ f ilename
9. 打印UID在
30-40范围内的用户名
Awk -F: ‘$>=30&&S3<=40{print $1}‘ f
ilename
10.倒叙排列文件的所有字段
awk -f : ‘{for( i=NF;i>0:i--) }{ if ( i!=1}
{printf "%s: " ,$i};}else{printf ("%s\n" ,$i) ; }
#!/bin/awk
-f
BEGIN{
F=": "
}
{
for( i=NF;i>0;i--)
{
if(
i!=1)

printf ("%s: " ,$i)

Else
{
printf
("%s\n",$i)
}
}
}
11.打印5 到26 行
Awk -F:
‘NR>=5&&NR<=26{print} ‘ f ilename12.在文件顶部加上标题“Document“
Awk
‘BENGIN{print“Document}{print} ‘f ilename
13.隔行删除
Awk ‘{ if (NR%2==1)
{print } }‘ f ilename
14.打印字段数大于5的行的总数
Awk -F: ‘BEGIN{num=0; } {
if(NF>=5) {num++;}} END {print num;}‘ f ilename
15.编写一个
awk脚本,统计/dev中各类型文件数量
#!/bin/awk
-f
BEGIN{
ff=0
dd=0
bb=0
cc=0
pp=0
ss=0
ll=0
}
{
if($0
~/^-/)

ff++

if($0 ~/^p/)

pp++

if($0
~/^b/)

bb++

if($0 ~/^/)

cc++

if($0
~/^d/)

dd++

if($0 ~/^l/)

ll++

if($0
~/^s/)
{s++

}
END{
Print "f ile: ", f f
Print "directory: "
,dd
print" character: ",cc
print" block: " ,bb
print" link: "
,ll
print" sockt : ",ss
print" pipe: " ,pp
}
16.编写一个
awk脚本,读取IP来自一个文件,并且测试该IP地址
#!/bin/awk -f
{
if(system("ping-c 1 "
$0">/dev/null)==0)
{
Print $0 YES
}
else
{
Print $0
NO
}
}
17.编写一个 awk脚本,读取文件添加用户
#!/bin/awk -f
{
If
(system("useradd" $0 2>/dev/null) ==0)
{
Print "user: "
$0"add"
}
else
{
Print "user"$0"error"
}
}
18.编写一个
awk脚本,功能过滤出合法IP地址
#!/bin/awk -f
BEGIN{
FS=" : "
}
{
if(
1>0&&$1<255&&$2>=0&&$2<=255$3>=0&&$3<=255$4>=0&&$4<=255{
Print
$0
}
}
19.编写一个 awk脚本,功能是每行抽取第一个单词
#!/bin/awk -f
BEGIN{
FS="
[^a-Z]+"
}
{ f irst=0
f lag=0
for( i=1;i<=NF;i++)
{
If ($I
!=NULL}

if(f lag==0)
{
f irst=I
f lag=1
}

}
Print
$f irst
}
20.编写一个 awk脚本,功能是打印每行的第一个和最后一个单词
#!/bin/awk
-f
BEGIN{
FS=" [^a-Z]+"
}
{ f irst=0
f lag=0
last=0
for(
i=1;i<=NF;i++)
{
If ($I !=NULL}

last=i
if(f
lag==0)
{
f irst=I
f lag=1
}}
}
Print $f irst " " $last
}

时间: 2024-08-10 23:28:54

AWK实用20例子的相关文章

awk实用20实例

1. 功能是打印所有输入行awk '{print $0} ' f ilename2. 打印输入文件第八行awk 'NR==8{print $0} ' f ilename3. 用awk打印文件所有行的第一个字段awk -F:'{print $1} ' f ilename4. 打印输入行总数awk 'BEGIN{num=0;} {num++;}END{print num} ' f ilenameawk 'END{print NR}' f ilename5. 打印每行字段数awk -F: '{prin

最近在写后台管理平台,用到jQuery dataTable 一个比较实用的例子分享下

学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/2006942 1:导入包: URL:http://www.datatables.net/ 分别导入css和js文件 Html代码   <style type="text/css" title="currentStyle"> @import "css/dem

几个实用的例子——Cookie读写详解

Cookie简介 Cookie的引文原意是"点心",它是在客户端访问Web服务器时,服务器在客户端硬盘上存放的信息,好像是服务器发送给客户的"点心".服务器可以根据Cookie来跟踪客户状态,这对于需要区别客户的场合(如电子商务)特别有用. 当客户端首次请求访问服务器时,服务器先在客户端存放包含该客户的相关信息的Cookie,以后客户端每次请求访问服务器时,都会在HTTP请求数据中包含Cookie,服务器解析HTTP请求中的Cookie,就能由此获得关于客户的相关信

【转载】GAWK AWK工具使用手册

IBM GAWK入门资料http://www.ibm.com/developerworks/cn/education/aix/au-gawk/ AWK 是什么? 最简单地说,AWK 是一种用于处理文本的编程语言工具.AWK 实用工具的语言在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法.在最初创造 AWK 时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据中有模式匹配,就执行一系列指令.该实用工具扫描文件中的每一行,查找与命令行中所给定 内容相匹配的模式

Linux文本处理三剑客之GNU awk的使用

awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk(gawk) gawk –模式扫描和处理语言 基本用法: awk[options] 'program' var=value file- awk[options] -f programfile var=value file- awk[options] 'BEGIN{ action;... } pattern{ action;... } END{ acti

shell 正则表达三剑客--awk

awk命令 awk和sed一样是流式编辑器,它也是针对文档中的行来操作的,一行一行的去执行.awk比sed更加强大,它能做到sed能做到的.awk工具其实是很复杂的,有专门的书籍来介绍它的使用. 1 awk命令形式 awk [-F|-f|-v] 'BEGIN{} //{command1; command2} END{}' file [-F|-f|-v]   大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value '  '         引用代码块 BEGIN       初始化

AWK用法入门详解

简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. awk其名称得自于它的创始人 Alfred Aho .Peter Weinberger 和 Brian Kernighan 姓氏的首个字母.实际上 AWK

awk 用法(自己笔记)

Table of Contents 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2. 操作 4. awk的环境变量 5. awk运算符 6. 记录和域 6.1. 记录 6.2. 域 6.3. 域分隔符 7. gawk专用正则表达式元字符 8. POSIX字符集 9. 匹配操作符(~) 10. 比较表达式 11. 范围模板 12. 一个验证passwd文件有效性的例子 13. 几个实例 14. awk编程

使用awk和grep做简单的统计

假如某个广告点击数据记录在文件里面,文件中每一行数据由‘时间’,‘uid’两个字段组成,要求每分钟统计某个uid带来的点击量并计入数据库,可以用shell来实现该功能. #!/bin/bash#广告点击统计,统计前一分钟的点击数stat_time=`date -d "- minutes ago" +"%Y-%m-%d %k:%M"`log_date=`date -d "$stat_time" +%Y-%m-%d`;log_month=`date