`
xiangzi21
  • 浏览: 29569 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

awk备忘,强大的awk

阅读更多

 

越来越发现awk的强大,做了实验,做了总结 备忘!!

 

/**在linux shell中调用awk  (awk 'xxxxxxx'  xxxxxxx即为awk命令,命令必须包含在单引号中,至少双引号都不行)**/

 

/**awk 显示文本文件myfile中中以字符%分隔的第一字段,第三字段和第七字段及NF(域的个数):**/

方法一:awk -F '%' 'NR==7,NR==15 {print $1 $3 $7 NF}'  

方法二:awk '{FS="%"} NR==7,NR==15 {print $1 $3 $7 NF}'

 

{FS="%"}:设置awk分隔符

 

 

NF:显示域的个数(不是分隔符数,一般应该是分隔符数加1)

# cat test1.txt

aa bb c

 

# cat test1.txt | awk '{print NF}'

3

 

NR==7,NR==15:第七行到第十五行 (貌似只能设两个,设置三个会报错 如:NR==7,NR==15,NR==20)

注意:NR==7,NR==15 {print $1 $3 $7 NF} 要写在一行里,中间不能有分号

 

print:打印时会换行,printf:打印时不会换行 (还没弄明白为什么)

 

 

/**awk显示第5列有A,L或LIKE的所有列 **/

awk '$5~ /[A,L,LIKE]/  {print $0}' tmp.txt 

 

/**awk显示第5列不包含A或L的所有列 **/

awk '$5!~'/[A,L]/' {print $0}' tmp.txt 

 

 

/**打印行号,OFS在$1,$2之间以"-"分隔**/

 awk 'OFS="-" {print NR,$1,$2 }' tmp.txt

 

NR:行号

OFS:将需要输出数据的分隔符

# cat test1.txt

aa bb c

 

# cat test1.txt |awk ' OFS="-" {print $0}'

aa bb c

--因为没有分隔符,也没分域,相当于只有一个域,所以没打出"-"

 

#cat test1.txt |awk ' OFS="-" {print $1 $2 $3}'

aabbc

--不带分隔符打出各域

 

# cat test1.txt |awk ' OFS="-" {print $1, $2, $3}'

aa-bb-c

--有了逗号,所以中间要有分隔符

 

 

/**利用BEGIN和END打印页眉页脚(支持转义)**/

# awk 'BEGIN {print "begin\nbegin2"}{print $0}{print $0}END{print "end"}' test1.txt 

begin

begin2

aa bb c

aa bb c

end

 

 

/**把test1.txt前面加上行号,追加到tt22中**/

#awk '{print NR,$0 >> "./tt22"}' test1.txt

#cat tt22 

1 aa bb c

 

 

/**管道输出并执行shell命令**/

awk '{print $0 | "sort"}' tmp.txt 

 

# cat test2.txt 

1

3

2

 

# awk '{print $0 | "sort"}' test2.txt 

1

2

3

 

/**从文件读取awk命令并执行: awk -f awk脚本名 目标文件 **/

 

# cat test.awk 

BEGIN {FS="\t";OFS="-"}

 

{print $1,$2}

 

# cat test2.txt 

1

3

2

 

# awk -f test.awk test2.txt    

1-

3-

2-

 

 

/**把第一竖排变成横排**/

#awk '{printf("%s,",$1)}' test2.txt  

1,3,2,

 

0
0
分享到:
评论

相关推荐

    awk学习awk学习awk学习awk学习

    awk学习awk学习awk学习awk学习awk学习awk学习awk学习

    awk入门到精通.pdf

    此外, awk内建有pipe的功能, 可将处理中的数据传送给外部 的 Shell命令加以处理, 再将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

    学习和理解AWK的最佳书籍Effective AWK Programming

    学习和理解AWK的最佳书籍  一致这本书是学习awk的最好书籍,网上下不到的,国内也买不到。国家图书馆和北京大学图书馆都有。强烈建议所有想学awk的同志们阅读(会有很多awk语言之外的启迪) 偶然机会得到,不敢独享...

    Sed与Awk (中文版)

    sed和awk是用户、程序员和管理员...* 如何开发一个处理索引的应用程序,该程序演示了awk的强大功能 * 得到不同awk版本的FTP和联系信息 本书还包含了一组用户提供的程序,这些程序展示了广泛的sed和awk程序风格和技巧。

    AWK AWK 详细使用文档

    AWK 详细使用文档 AWK 详细使用文档 AWK 详细使用文档

    awk参考资料下载awk

    awk参考资料, awk参考资料详情.

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

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

    awk使用手册

    你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是...

    awk详细用法小结awk awk

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

    Sed与awk 中文第二版

    你还能了解到: 通用的程序结构 如何使用awk的内部函数 如何编写用户定义函数 awk程序的调试技术 如何开发一个处理索引的应用程序,该程序演示了awk的强大功能得到不同awk版本的ftp和联系信息 。  本书还包含了一组...

    awk入门级教材awk入门awk入门

    awk 是一门编程语言,它的基本操作是在一组文件上查找模式,并在包含这些模式实例的那 些行或字段上进行指定的动作。awk 使得特定数据的选择和变换操作更易于表达

    sed_awk.chm

    This book is about a set of oddly named UNIX utilities, sed and awk. These utilities have many things in common, including the use of regular expressions for pattern matching. Since pattern matching ...

    linux awk详解awk详解awk详解awk详解

    awk详解awk详解awk详解awk详解awk详解awk详解awk详解awk详解awk详解

    awk的详细介绍,awk的使用介绍

    awk的详细介绍,awk的使用介绍,awk的使用教程,awk的学习宝典

    awk实例详解——Unix下awk的使用

    精通awk命令 Unix awk使用手册.htm awk.pdf

    windows 下的awk 命令工具

    windows 下的awk 命令工具

    linux环境下awk开发

    你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度。awk是什么?与其它大多数UNIX命令不同的是,从名字上看,我们不可能知道awk的功能:它既不是...

    Oracle ass.awk工具

    ass.awk工具用在数据库hang住时分析收集到的systemstate所用,可以清晰明了的查看systemstate中的信息; 命令简单: $ awk -f ass1033.awk [trace_name_file] 在系统hung的时候,systemstate基本等同于hanganalyze...

    Awk入门教程 《Awk A Tutorial and Introduction - by Bruce Barnett》

    Awk入门教程。作者 Bruce Barnett 注:英文版。以下是目录 Why learn AWK? Basic Structure Executing an AWK script Which shell to use with AWK? Dynamic Variables The Essential Syntax of AWK ...

Global site tag (gtag.js) - Google Analytics