2022年AWKSEDGREP学习笔记及用法心得_第1页
2022年AWKSEDGREP学习笔记及用法心得_第2页
2022年AWKSEDGREP学习笔记及用法心得_第3页
2022年AWKSEDGREP学习笔记及用法心得_第4页
2022年AWKSEDGREP学习笔记及用法心得_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GREP,AWK,SED 学习笔记及使用心得 grep grep 是一种强大的文本搜寻工具,它能使用正就表达式搜寻文本,并把匹配的行打印出来; 一般格式 grep 选项 基本正就式 文件 选项: -c 不输出内容只统计匹配行数 -i grep -c 123 filename 相当于 grep 123 filename | wc -l 不区分大小写 grep -i ok filename 匹配包含 ok,Ok,oK,OK 的全部行 -h 查询多文件时不显示文件名 grep -h 123 *.txt 不加 -h 时会在每一行前显示该行所在文件名 -l 查询多文件是只显示包含匹配字符的文件名 -n

2、查询匹配行及行号 显示不包含匹配文本的-v 全部行 -. 同时显示匹配行上下的?行 如: grep -2 123 filename 同时显示匹配行的上下 2 行; 正就: 锚定行的开头 p; $如: grep匹配全部以 grep 开头的行; 锚定行的终止 . 如: grep$匹配全部以 grep 结尾的行; 匹配一个非换行符的字符 如: gr.p匹配 gr 后接一个任意字符,然后是 *匹配零个或多个从前字符 grep 的行; 如: *grep 匹配全部一个或多个空格后紧跟 .* 一起用代表任意字符; 匹配一个指定范畴内的字符 的一个字母开头,紧跟 rep 的行; 如Ggrep 匹配 Grep

3、和 grep; 匹配一个不在指定范畴内的字符 如: A-FH-Zrep 匹配不包含 A-R 和 T-Z . 标记匹配字符 如love , love 被标记为 1; 锚定单词的开头 grep 开头的单词的行; 如: 锚定单词的终止 grep 结尾的单词的行; 如grep 匹配包含以 b 单词锁定符 如: bgrepb 只匹配 grep; 特殊事项: 1.引号的使用 第一说明引号的作用,在 shell 中使用 grep 一般要打引号,例如: grep 这样做, 一是防止被误会为 shell 命令, 二是可以查找多个单词的字符串; 如,aaa bbb;假如 没引号,将会把 bbb 误认为文件; 第

4、1 页,共 7 页一般在 grep 中输入字符串参数是打双引号 ,如: $mystr=aaa;grep $mystr file , 这样 $mystr 会先被替换成 aaa,执行操作是 grep aaa file ;而在单引号中, $mystr 不被 识别,因此, 单引号一般用在正就表达式的匹配上 与 shell 命令中的特殊方式混淆; 2.egrep 和 grep -E 的元字符扩展 ,这样可防止于 grep 中使用的模式 egrep 是扩展的 grep,支持基本正就和扩展正就,等同于 grep -E;扩展集如下: + 匹配一个或多个从前的字符; 如: a-z+able ,匹配一个或多个小写

5、字母后跟 able 的串; a|b|c 匹 a 或 b 或 c; 配 grep|sed 匹配 grep 或 sed 如: 分组符号 如: loveable|rs匹配 loveable 或 lovers; egrep 仍支持将一个文件作为储存的字符串,然后将之传给 用 -f 开关; egrep 作为参数,需使 字符类 为了在不同国家的字符编码中保持一至, Interface 增加了特殊的字符类;:alnum: 文字数字字符 :alpha: 文字字符 POSIXThe Portable Operating System :print: 非空字符(包括空格) :punct: 标点符号 :digit:

6、 数字字符 :space: 全部空白字符 :graph: 非空字符 (非空格,把握字符) :upper: 大写字符 :lower: 小写字符 :cntrl: 把握字符 :xdigit: 十六进制数字( 0-9,a-f,A-F ) grep 支持这种模式,例如: grep :upper:lower: file ;使用时要打双中括号; awk awk 是一种编程语言, 用于在 linux/unix 下对文本和数据进行处理; 数据可以来自标准 输入, 一个或多个文件, 或其它命令的输出; 它支持用户自定义函数和动态正就表达式等先 进功能,是 linux/unix 下的一个强大编程工具; 选项 -F

7、指定输入文件折分隔符; -f 从脚本文件中读取 awk 命令; 模式和操作: awk 脚本是由模式和操作组成的: pattern action 如 $ awk /root/ test ,或 $ awk $3 output_file test ;上式表示假如第一个域的值等于 100,就把它输出到 output_file 中;也 可以用 来重定向输出,但不清空文件,只做追加操作; 输出重定向需用到 getline 函数; getline 从标准输入,管道或者当前正在处理的文件之 外的其他输入文件获得输入; system 函数可以在 awk 中执行 linux 的命令;如: $ awk BEGINs

8、ystemclear ; fflush 函数用以刷新输出缓冲区,假如没有参数,就刷新标准输出的缓冲区,假如以空 字符串为参数,如 fflush, 就刷新全部文件和管道的输出缓冲区; 流程把握: awk 中的流程把握语句是从 条件语句 if/else else if ; C 语言中借鉴过来的,可把握程序的流程; 循环有三种 :while 循环; for 循环; special for 循环; break 用于在中意条件的情形下跳出循环; 第 4 页,共 7 页continue 用于在中意条件的情形下忽视后面的语句,直接返回循环的顶端; next 语句从输入文件中读取一行,然后从头开头执行 awk 脚本;如: if $1 /test/nextelse print exit 语句用于终止 awk 程序,但不会略过 END 块; 数组: 用变量作为数组下标;如: $ awk namex+=$2;ENDfori=0;ithis is a example example 头的行后面, sed 要求命令 a 后面有一个反斜杠; n 下一个 this is a example被追加到以 test 开 $ sed /test/ n; s/aa/bb/; example 假如 test 被匹配,就移动到匹配行的下一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论