华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第九讲 文本过滤

Linux操作系统 文本过滤 1
1 Linux 操作系统 文本过滤

主要内容和学习要求 口能够熟练运用grep命令 口掌握sed流编辑器 口学会使用awk编程 2
2 主要内容和学习要求 能够熟练运用 grep 命令 掌握 sed 流编辑器 学会使用 awk 编程

grep家族 口grep是Linux下使用最广泛的命令之一,其作用 是在一个或多个文件中查找某个字符模式所在的行,并 将结果输出到屏幕上。 grep命令不会对输入文件进行任何修改或影响 口grep家族由grep、egrep和fgrep组成: ◆grep:标准grep命令,主要讨论此命令。 ◆egrep:扩展grep,支持基本及扩展的正则表达式。 ◆fgrep:固定grep(fixed grep),也称快速grep (fast grep),按字面解释所有的字符,即正则表达式中 的元字符不会被特殊处理。这里的“快速”并不是指速度快
3 grep 是 Linux 下使用最广泛的命令之一,其作用 是在一个或多个文件中查找某个字符模式所在的行,并 将结果输出到屏幕上。 grep 命令不会对输入文件进行任何修改或影响 grep 家族 grep 家族由 grep、egrep 和 fgrep 组成: grep: 标准 grep 命令,主要讨论此命令。 egrep: 扩展 grep,支持基本及扩展的正则表达式。 fgrep: 固定 grep (fixed grep),也称快速 grep ( fast grep ),按字面解释所有的字符,即正则表达式中 的元字符不会被特殊处理。这里的“快速”并不是指速度快

grep的使用 grep命令的一般形式 grep[选项]pattern filel file2 ● pattern: 可以是正则表达式(用单引号括起来)、 或字符串(加双引号)、或一个单词。 ●fi1e1fi1e2..:文件名列表,作为grep命令 的输入;greP的输入也可以来自标准输入或管道; 口可以把匹配模式写入到一个文件中,每行写一个,然 后使用-£选项,将该匹配模式传递给grep命令 grep -f patternfile filel file2 4
4 grep 命令的一般形式 grep [选项] pattern file1 file2 ... grep -f patternfile file1 file2 ... grep 的使用 z pattern:可以是正则表达式(用单引号括起来)、 或字符串(加双引号)、或一个单词。 z file1 file2 ... :文件名列表,作为 grep 命令 的输入;grep 的输入也可以来自标准输入或管道; 可以把匹配模式写入到一个文件中,每行写一个,然 后使用 -f 选项,将该匹配模式传递给 grep 命令

grep 1 常用选项 -c 只输出匹配的行的总数 -i 不区分大小写 -h 查询多个文件时,不显示文件名 -1 查询多个文件时,只输出包含匹配模式的文件的文件 名 -n 显示匹配的行及行号 -v 反向查找,即只显示不包含匹配模式的行 -s 不显示错误信息 grep -i an*'datafile
5 -s 不显示错误信息 -v 反向查找,即只显示不包含匹配模式的行 -i 不区分大小写 -h 查询多个文件时,不显示文件名 查询多个文件时,只输出包含匹配模式的文件的文件 名 -l -n 显示匹配的行及行号 -c 只输出匹配的行的总数 grep –i 'an*' datafile grep 常用选项

grep命令应用举例 查询多个文件,可以使用通配符“*” grep "math2"*.txt grep "12"* ◆反向匹配 ps aux I grep "ssh" grep -v "grep" ◆ 匹配空行 grep -n datafile grep -v datafile datafile2
6 grep 命令应用举例 查询多个文件,可以使用通配符 “ * ” grep "math2" *.txt grep "12" * 反向匹配 ps aux | grep "ssh" | grep –v "grep" 匹配空行 grep -n '^$' datafile grep -v '^$' datafile > datafile2

grep命令应用举例 ◆精确匹配单词:1 ●找出所有包含以north开头的单词的行 grep '\datafile ●找出所有包含north单词的行 grep \datafile
7 精确匹配单词: \ grep 'west\>' datafile grep '\' datafile grep 命令应用举例 z 找出所有包含 以 north 开头 的单词的行 z 找出所有包含 以 west 结尾 的单词的行 z 找出所有包含 north 单词的行

grep命令应用举例 ◆递归搜索目录中的所有文件:-x grep -r "north"datafile ~/Teaching/linux/ ◆关于某个字符连续出现次数的匹配 grep 'o\2,\}'helloworld 'o\{2,4\}',o\{2,4\',1o\{2,4\} 8
8 递归搜索目录中的所有文件:-r grep -r "north" datafile ~/Teaching/linux/ 关于某个字符连续出现次数的匹配 grep 'o\{2,\}' helloworld 'o\{2,4\}' , 'o\{2,4\}' , 'lo\{2,4\}' grep 命令应用举例

grep命令应用举例 ◆其它 grep n'datafile grep 'ys datafile grep 'r\.'datafile grep [we]'datafile grep -i'ss*'datafile grep -n [a-z]\{9\}'datafile grep -c '\datafile
9 其它 grep '^n' datafile grep 'y$' datafile grep 'r\.' datafile grep '^[we]' datafile grep –i 'ss*' datafile grep –n '[a-z]\{9\}' datafile grep –c '\' datafile grep 命令应用举例

grep与管道 1s -1 I grep d' 如果传递给grep的文件名参数中有目录的话, 需使用“-d”选项 grep -d [ACTION]directory name 其中ACTION可以是 read:把目录文件当作普通文件来读取 skip:目录将被忽略而跳过 recurse:递归的方式读取目录下的每一个文件,可以用 选项"-r"代替"-d recurse" grep -rl "etho"/etc 10
10 ls –l | grep '^d' 如果传递给 grep 的文件名参数中有目录的话, 需使用 “ -d ” 选项 grep -d [ACTION] directory_name 其中 ACTION 可以是 read:把目录文件当作普通文件来读取 skip:目录将被忽略而跳过 recurse:递归的方式读取目录下的每一个文件,可以用 选项 "-r" 代替 "-d recurse" grep -rl "eth0" /etc grep 与管道
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第八讲 文本编辑器vim使用指南.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第七讲 正则表达式.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第六讲 Linux进程控制.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第五讲 Linux Shell介绍.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第四讲 Linux文件系统.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第三讲 Linux基础.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第二讲 Linux安装(Fedora 9的安装).pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第一讲 Linux介绍(主讲:潘建瑜).pdf
- 《Linux操作系统》课程教学资源(参考资料)Linux搜索命令.pdf
- 《Linux操作系统》课程教学资源(参考资料)Vi Quick Reference.pdf
- 《Linux操作系统》课程教学资源(参考资料)VIM命令小结.pdf
- 《Linux操作系统》课程教学资源(参考资料)Linux常用命令.pdf
- 图像、文字、语音与人工智能(课件讲稿)人工智能教育课程设计.pdf
- 图像、文字、语音与人工智能(PPT课件讲稿)K12人工智能课程案例设计思考.pptx
- 图像、文字、语音与人工智能(PPT课件讲稿)人工智能——数据标注.pptx
- 图像、文字、语音与人工智能(PPT课件讲稿)语音识别的原理.ppt
- 《单片机原理及应用》课程教学资源(PPT课件)第2章 单片机应用系统的开发环境.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第3章 8086指令系统.ppt
- 《单片机原理及应用》课程教学资源(PPT课件)第1章 单片机基础知识.ppt
- 南阳师范大学:《数据结构》课程电子教案(PPT课件)第4章 串.ppt
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第十讲 Shell的输入与输出.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第十一讲 Shell脚本编程——Shell变量.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)第十二讲 Shell脚本编程.pdf
- 华东师范大学:《Linux操作系统》课程教学资源(课件讲稿)Linux复习.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)MATLAB简要教程.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第一讲 数学软件MATLAB基础.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第二讲 MATLAB符号 ——Matlab 符号.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第三讲 MATLAB绘图.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第三讲 常见空间曲线与曲面做图(标准方程及Matlab作图).pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第四讲 MATLAB数据类型.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第五讲 MATLAB编程基础(脚本).pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第五讲 MATLAB编程基础(函数).pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第六讲 MATLAB文件操作.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(课件讲稿)第七讲 多项式运算与代数方程求解.pdf
- 华东师范大学:《计算机应用基础》课程教学资源(参考资料)数学软件Mathematica使用入门.pdf
- 《计算机应用基础》课程教学资源(参考资料)Mathematica参考.pdf
- 《计算机应用基础》课程教学资源(参考资料)MathType使用介绍.pdf
- 《计算机应用基础》课程教学资源(参考资料)MATLAB小结.pdf
- 《计算机应用基础》课程教学资源(参考资料)MATLAB常用命令和函数.pdf
- 《计算机应用基础》课程教学资源(参考资料)MATLAB_CheatSheet, by Thor Nielsen.pdf