1、红帽企业Linux用户基础RHA030,文本处理工具,8单元,红帽企业Linux用户基础,目标,本单元你将学习到:使用工具提取、分析和操作文本数据,提取文本工具,文件内容:less和cat文件摘选:head和tail提取列或者字段:cut按关键字提取:grep,查看文件内容 - less和cat,cat:dump一个或者多个文件到标准输出多个文件联合在一起Less:在查看文件或者标准输入的时候,每次只看一页在查看时常用的命令如下:/text:搜索textn/N:跳转到next/previous匹配的地方v:用文本编辑器打开该文件man命令中是采用less来分页的,查看文件摘选 - head和t
2、ail,head:显示文件的起始10行使用-n选项改变行显示tail:显示文件最后10行使用-n选项改变行显示使用-f选项来继续从输入文件复制额外的单元对于监控日志文件非常有用!,通过关键字来提取文本 - grep,打印匹配的文件行或者标准输入$ grep john /etc/passwd$ date help|grep year使用-i选项:忽略大小写敏感搜索使用-n选项:打印匹配的行号使用-v选项:打印哪些不匹配的行使用-AX选项:在匹配数据后包含显示X行使用-BX选项:在匹配数据前包含显示X行使用-r选项:递归搜索目录使用-color=auto选项:用color颜色高亮显示匹配的数据,提
3、取列或字段 - cut,显示文件指定的列或者标准输入数据$ cut -d:-f1 /etc/passwdgrep root /etc/passwd |cut -d:-f7使用-d选项来指定列分隔符(默认是TAB)使用-f选项来指定要打印的列使用-c选项来指定按字符来提取$ cut c2-5 /usr/share/dict/words,文本分析工具,文本统计:wc文本排序:sort文件比较:diff和patch拼写检查:aspell,收集文本统计 - wc(单词统计),计算单词数,行数,字节数和字符数可以针对一个文件或者标准输入$ wcstory.txt39 237 1901 story.txt
4、使用-l选项:仅仅统计行数使用-w选项:仅仅统计单词数使用-c选项:仅仅统计字节数使用-m选项:统计字符数(不显示),文本排序 - sort,对标准输出排序 - 原始文件不改变$ sort options file(s)常用选项-r:执行反向(降)排序-n:执行数字排序-f:忽略字符串中的大小写-u:在输出中删除重复的行(唯一)-t c :使用c作为字段间的分隔符k X:使用c分隔符排序X字段可多次使用,消除重复行 - sort和uniq,sort -u:从输入删除重复行uniq:从相邻的行中删除重复行使用-c选项统计发生重复的次数跟sort一起使用效果最好:$ sort userlist.t
5、xt!uniq -c,文件比较 - diff,比较两个文件的不同$ diff foo.conf-broken foo.conf-works 5c5use_widgets = yes指出差异在第行使用图形化的diff工具gvimdiff,在vim-x11包里,复制文件更改 - patch,diff命令输出差异并保存在patchfile文件中使用-u选项统一diff,对生成patchfile是有好处的patch 命令复制改变在其它的文件中(小心使用!)使用-b选项自动备份变更的文件diff -u foo.conf-broken foo.conf-works foo.patchpatch -b fo
6、o.conf-broken foo.patch,使用aspell做拼写检查,交互式拼写检查文件:$ aspell check letter.txt非交互式列出拼错的单词$ aspell list letter.txt$aspell listletter.txt|wc -l,文本操作工具 - tr和sed,更改(转变)字符:tr转换一种字符集合为另外一种字符集合只能从STDIN读取数据$ tr a-z A-Zlowercase.txt更改字符串:sed流编辑器执行查找/替换 操作在文本流上通常不改变原文件使用 i.bak备份和修改原文件,sed示例,提供查询和替换指令sed技巧sed s/dog
7、/cat/g petssed 1,50s/dog/cat/g petssed /digby/,/duncan/s/dog/cat/g pets多路sed指令sed e s/dog/cat/ e s/hi/lo/ petssed f myedits pets,复杂的查询-正则表达式,表示行的开始$表示行的结束在bash中做为字符类abc,abc:upper:,:upper:被许多命令使用:grep,sed,less,总结和实验,摘要和实验提取文本cat,less,head,tail,grep,cut文本分析wc,sort,uniq,diff,patch文本操作tr,sed特殊的搜索字符,$,abc,abc,:alpha:,:alpha:等注:全部的实验和练习题也可以直接从我们的网站上下载,