0520 第六节课

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0520 第六节课相关的知识,希望对你有一定的参考价值。

 

特殊权限的说明及用法直接并到上一节课的笔记的末尾


















 文本处理工具



 1.cut:将数据以某分割符为界切成几段,并提取其中一段

      -d: d后面直接跟分隔符

      -f: f后面跟想要提取的段数,多段用,隔开



 2.more/less:翻页显示

      COMMAND |more/less -d  :d是一些简单的帮助提示



3.head:显示头几行

      -#: 显示前边#行


4.tail:显示末尾几行

      -#:显示末尾#行

      -f:监控末尾添加,一般是配合&后台使用

      -n +k: 从第k行开始显示



5.paste:合并命令

      -d:分隔符,两个文件合并在一起区分两个数据的分隔符

      -s:一个数据一行


6.uniq:计数的命令

      -c:统计出现的次数

      -u:显示没有重复的行

      -d:显示重复的行


7.diff:比较两文件的不同

      -u:将比较的结构以特殊格式输出,重定向到文件后可以做补丁使用


8.patch:

       -i:将file1以diff输出的格式变成file2

       -r:将file2以diff输出的格式变成file1

       -b:在做ir操作前备份保存一份原件










正则表达式和linux文本处理三剑客



文本处理三剑客: grep: 过滤文本

                 

                 sed:  编辑文本


                 awk:  文本报告生成器



 grep:过滤文本工具

                 grep:支持正则表达式


                 egrep:支持扩展表达式


                 fgrep:不支持正则表达式

       

       三个之间可以通过选项转化 :grep -E =egrep

                                  grep -F =fgrep




      grep 【options】 pattern file


     -i:区分大小写

     -o:不显示行,只显示匹配到的数据

     -v:显示匹配到的数据所在的行以外的内容

     -q:静默模式,无论是否匹配到都不显示

     -E:支持扩展正则表达式

     -A #:after,匹配到的行的下#行也一并显示出来

     -B #:before,            上#行 

     -C #:上下文,            上下#行



正则表达式:就是一些符号代指文本,和前面的*有点类似,但是每个符号的意义完全不同,注意不要搞混


     字符匹配: . :任意单个字符

                []:指定范围的任意单个字符

                [^]:制定范围外的任意单个字符

                

                [:space:][:digit:][:alnum:][:alpha:][:lower:][:upper:][:punct:]

                意思同通配符


     字数匹配: * :前边的字符出现任意次数0,1,2,。。。。

                \?:前边的字符出现0或者1次,即前边的数据可有可无

                \+:前边的字符出现1次以上

                \{m\}:前边的字符出现m次,多一次少一次都不行

                \{m,n\}:前边的字符最多出现n次最少出现m次

                \{0,n\}:前边的字符最多出现n次

                \{m,\}:前边的字符最少出现m次

     

     位置锚定: ^:行首,放在pattern最左侧

                $:行位               右侧

                ^$:空白行,连空格都没有

                ^[:space:]*$:空行,有空格

                \<:词首,放在单词的最左侧

                \>:词尾,            右侧

                \<\>:单词锚定


     分组及引用:\(\):将多个字符括成一个整体


                 \1:是指,前边的括号,从最左侧的第一个左括号起,到其匹配的括号为止,括号里边的内容

                 \2:                              二个                                       

                 \3:                              三个

                 \4:                              四个


                 注:这种引用方式叫做后向引用

      


      egrep:扩展正则表达式内容基本上同正则表达式相同,只是在字数匹配时做转义用的\可以不用添加

             不同         


             或:  |:|左侧全部内容或者|右侧全部内容


                注意:|在某些环境下使用时要加上\来转义


                    C|cd:是指C或者cd而不是Cd或者cd,想表达后者的意思需要用到分组,即加括号

                    \(C|c\)d来表示


      fgrep:不支持正则表达式的grep,并不是没用的,因为我们将来要检索的文档很多都是数据十分庞大的大文档,所以,在用不到正则表达式的是

             后使用fgrep的效率将会更高




正则表达式是一个重要的内容,也是一个需要动脑的内容,应该多做练习



本文出自 “博客作业初版” 博客,谢绝转载!

以上是关于0520 第六节课的主要内容,如果未能解决你的问题,请参考以下文章

linux第六节课

第六节课课堂笔记

Linux学习第六节课-用户组合权限

第六节课

shell 脚本——第六节课 if判断语句

学习笔记第六节课