正则表达式之一grep

grep :文本过滤( 模式:pattern) 工具

包括:grep, egrep, fgrep (不 支持正则表达式 搜索)

用法格式: grep [OPTIONS] PATTERN [FILE…]

                    模式:由正则表达式字符及文本字符所编写的过滤条件

 各种选项:  –color=auto :     显示匹配的文本着色,centos7已经自动匹配红色

                   -b              :     显示不被模式匹配的行

                   -i     :忽略字符大小写                -n   :  显示匹配的行号                  -v :     统计匹配到的行数

                   -o    :仅显示匹配到的字串           -q  :静默模式,不输出任何信息  

                    -A #   -B #    -C #     :  显示模式匹配到的前后行数,after、before、context前后各#行

                    -e   :  实现多个选项间的逻辑or关系   grep –e ‘cat ’ -e ‘dog’ file

                    -E   : 扩展正则表达式                          -w   : 整行匹配整个单词

                    -F   :fgrep,不支持正则表达式

             grep使用通配符,有些符号需要转义,扩展正则表达式则不需要,两者其他功能一样

扩展正则表达式:egrep     支持元字符、通配符等,和文件名通配稍微有点区别:使用egrep,转义符\不需要

               .     匹配任意单个字符                          []     匹配指定范围内的任意单个字符

               *    匹配 前面的字符任意次,包括0次     贪婪模式:尽可能长的匹配
                \?  匹配 其前面的字符0 或1次                        \+  匹配 其前面的字符至少1次

                \{m,n\}  匹配 前面的字符至少m 次,至多n次

位置锚定:

         ^$  :   ^行首锚定,$行尾锚定。合在一起就是空行的意思                    ^[[:space:]]*$ 空白行

          \b  词首锚定,用于单词模式的左侧 ; 词尾锚定;用于单词模式的右侧

            \<PATTERN\>   匹配整个单词

     分组后向引用有点难理解:分组括号中的模式匹配到的内容会被正则表达式引擎记录于内部的变量中,这些变量的命名方式为: \1, \2, \3, …
              exam:  egrep  (string1)(string2)\1\2      \1表示引用第一个字符串,\2表示引用第二个字符串

              如果使用grep ,括号需要转义\(\);

              或者的逻辑关系:  a|b: a或b           C|cat: C 或cat                 (C|c)at:Cat 或cat

vim编辑器基本认识: 

                vim  [OPTION]… FILE…                如果该文件存在,文件被打开并显示内容

                                                                 如果该文件不存在,当编辑后第一次存盘时创建它

                参数使用了解即可,接触不到几个。


三种主要模式: 命令模式、输入模式、末行模式          Esc键 退出当前模式总是返回到命令模式

                                   

正则表达式之一grep

命令模式转换插入模式:

                  i     : insert,  在光标所在处输入        

                  a    : append,  在光标所在处后面输入 

                  o    :  在当前光标所在行的下方打开一个新行   

                大写I,A,O,表示在光标行首输入、光标行尾输入、所在行上分打开新行

注意:插入模式和末行模式是不能直接转换,需要通过命令模式中转, 

            支持锁定和解锁,和锁定linux一样, 只是不显示而已,实际还能输入

            :q  退出             :q!  强制退出,丢弃做出的修改

            :wq   保存退出        :wq!   强制保存退出         建议使用这些退出方式,其他退出方式操作快,危险

在末行模式下:

            r filename      读文件内容到当前文件中

            w filename 将当前文件内容写入另一个文件

            !command  执行命令

            r!command  读入命令的输出

命令模式的光标跳转:

            H :页首 M行 :页中间行 L: 页底

             h: 左 左 l: 右 右 j: 下 下 k: 上    (习惯使用方向键也行)  还可以单词跳转:w、e、 b

             ^:  跳转至行首的第一个非空白字符           $:  跳转至行尾               0:   跳转至行首

             G :最后一行     #G :跳转指定#行                     gg: 第一行

             Ctrl+f    向尾部翻一屏        Ctrl+b      向首部翻一屏      

             dd :  删除光标所在行          yy:复制光标所在行         p,P:  粘贴复制的整行,也可以粘贴删除的字符

             ~ : 大小写替换

            还有查找替换功能:s/string/string2/g              g:  全局替换         查找替换中的分隔符/ 可替换为其它字符

u 撤销最近的更改             按Ctrl – r 重做最后的“撤消”更改

这些就是些基本用法,vim功能很强大,还有很多强大的功能,太多了,我们先了解使用即可。

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/70198

(0)
sheweishewei
上一篇 2017-02-27
下一篇 2017-02-28

相关推荐

  • 网络配置与可视化监控工具

    nmcli  [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { general | networking | radio | connection | device | agent  }    OPTIONS := {    -t[erse] : 简…

    Linux干货 2016-09-07
  • 2016/10/19作业:软链接与硬链接的区别

    软链接和硬链接的区别 linux中链接分为两种,一种是硬链接(Hard Link),一种是符号链接(Symbolic Link),其中,符号链接又称为软链接。 硬链接: 在Linux文件系统中 ,磁盘中的所有文件都有一个编号,这个编号称为索引节点(Inode)。在Linux中,多个同一索引节点可以有多个文件名,这就是硬链接。硬链…

    Linux干货 2016-10-20
  • awk

    GNU awkGNU awk 2 本章内容 awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 awk循环 awk数组 awk函数 调用系统命令 3 awk awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk…

    Linux干货 2016-09-14
  • Linux运维实战之5:磁盘分区、格式化

    在网络系统中,磁盘和文件系统管理是两个非常基本、同时也是非常重要的管理任务,特别是文件系统管理,因为它与用户权限和整个网络系统的安全息息相关。本次博文的主题是关于Linux系统中磁盘分区、格式化及挂载,下次博文我们再详细讨论文件系统管理。 在操作系统中,磁盘管理属于设备管理的范畴。一块硬盘安装到主机之后称为裸设备,若要能够在Linux系统中使用必须对其进行如…

    Linux干货 2016-11-26
  • 五.Linux博客-2016年7月28日索引、硬链接、软连接、inode表、file、重定向、tr、管道、用户、组

    格式说明: 操作 概念 命令 说明及举例 五.索引、硬链接、软连接、inode表、file、重定向、tr、管道、用户、组 索引节点 原数据保存在inode table表中每个文件或目录都有一个独立的inode number(节点编号在一个分区中是唯一的,每个分区都有自己的inode table) ls -i 查看节点编号 硬链接 ln&n…

    Linux干货 2016-08-23
  • Linux文件管理类命令

    文件管理工具:cp,mv,rm cp命令:copy,用于实现复制功能      源文件 —-> 目标文件        cp [OPTION]… [-T] SOURCE DEST   #单源复制        …

    Linux干货 2016-08-22