AWKSEDGREP学习笔记及用法心得.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AWKSEDGREP学习笔记及用法心得

GREP,AWK,SED学习笔记及使用心得 grep grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来\b 单词锁定符 如: \bgrep\b只匹配grep。awk 是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。 选项 -F 指定输入文件折分隔符-f 从脚本文件中读取awk命令。 模式和操作 awk脚本是由模式和操作组成的: pattern {action} 如$ awk /root/ test,或$ awk $3 100 test。 两者是可选的,如果没有模式,则action应用到全部记录,如果没有action,则输出匹配全部记录。默认情况下,每一个输入行都是一条记录,但用户可通过RS变量指定不同的分隔符进行分隔。 模式 /正则表达式/:使用通配符的扩展集。 关系表达式:可以用运算符表中的关系运算符进行操作,可以是字符串或数字的比较。 模式匹配表达式:用运算符~(匹配)和~!(不匹配)。 操作 操作由一或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内。主要有四部份: 变量或数组赋值 输出命令 内置函数 控制流命令 记录和域 记录 awk把每一个以换行符结束的行称为一个记录。 记录分隔符:默认的输入和输出的分隔符都是回车,保存在内建变量ORS和RS中。 $0变量:它指的是整条记录。如$ awk {print $0} test将输出test文件中的所有记录。 变量NR:一个计数器,每处理完一条记录,NR的值就增加1。如$ awk {print NR,$0} test将输出test文件中所有记录,并在记录前显示记录号。 域 记录中每个单词称做“域”,默认情况下以空格或tab分隔。awk可跟踪域的个数,并在内建变量NF中保存该值。如$ awk {print $1,$3} test将打印test文件中第一和第三个以空格分开的列(域)。 内建变量FS保存输入域分隔符的值,默认是空格或tab。我们可以通过-F命令行选项修改FS的值。如$awk -F[:\t] {print $1,$3} test,表示以空格、冒号和tab作为分隔符。 输出域的分隔符默认是一个空格,保存在OFS中。如$ awk -F: {print $1,$5} test,$1和$5间的逗号就是OFS的值。 几个实例 awk /^(no|so)/ test-----打印所有以模式no或so开头的行。 awk /^[ns]/{print $1} test-----如果记录以n或s开头,就打印这个记录。 awk $1 ~/[0-9][0-9]$/(print $1} test-----如果第一个域以两个数字结束就打印这个记录。 awk $1 != 10 test-----如果第一个域不等于10就打印该行。 $ awk /^root/,/^mysql/ test----打印以正则表达式root开头的记录到以正则表达式mysql开头的记录范围内的所有记录。如果找到一个新的正则表达式root开头的记录,则继续打印直到下一个以正则表达式mysql开头的记录为止,或到文件末尾。 awk编程 变量 在awk中,变量不需要定义就可以直接使用,变量类型可以是数字或字符串。 在awk脚本中,这些变量使用起来就象是在脚本中建立的一样。注意,如果参数前面出现test,那么在BEGIN语句中的变量就不能被使用。 域变量也可被赋值和修改例如:$ awk $1 ==root{$1 =test;print} test,如果第一个域的值是“root”,则把它赋值为“test”,字符串一定要用双引号。 内建变量的使用。$ awk -F: {IGNORECASE=1; $1 == MARY{print ,$1,$2,$NF}test,把IGNORECASE设为1代表忽略大小写,打印第一个域是mary的记录数、第一个域、第二个域和最后一个域。 awk的环境变量 变量 描述 $n 当前记录的第n个字段,字段间由FS分隔。 $0 完整的输入记录。 ARGC 命令行参数的数目。 ARGIND 命令行中当前文件的位置(从0开始算)。 ARGV 包含命令行参数的数组。 CONVFMT 数字转换格式(默认值为%.6g) ENVIRON 环境变量关联数组。 ERRNO 最后一个系统错误的描述。 FIELDWIDTHS 字段宽度列表(用空格键分隔)。 FILENAME 当前文件名。 FNR 同NR,但相对于当前文件。 FS 字段分隔符(默认是任何空格)。 IGNORECASE 如果

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档