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