正则表达式之一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 15:29
下一篇 2017-02-28 10:18

相关推荐

  • 实验:yum、编译安装、swap

    实验:在centos7实现光盘yum源 1yum install autofs 2现在启动systemctl start autofs 3开机启动systemctl enable autofs 4 cat /etc/yum.repos.d/base.repo[centos7]name=centos7 repobaseurl=file:///misc/cdgp…

    Linux干货 2017-04-25
  • Varnish的配置与部署

          Varnish与一般服务器软件类似,分为master(management)进程和child(worker,主要做cache的工作)进程。master进程读入命令,进行一些初始化,然后fork并监控child进程。child进程分配若干线程进行工作,主要包括一些管理线程和很多woker线程。 va…

    2017-07-27
  • 关于大型网站技术演进的思考(二):存储的瓶颈(2)

    原文出处: 夏天的森林   上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服务端程…

    2015-03-11
  • Linux中基础且常用的指令介绍及示例

    首先需要明确的是:Linux中无论是指令还是选项或者参数,请认真对待字母大小写。Linux中通用的命令使用方式是:命令 [选项] [参数] 1. pwd pwd:print name of current/working directory,即打印当前的目录(工作目录),光杆处于哪个目录下就会在终端上输出当前路径的绝对路径。用法示例: [lanti…

    Linux干货 2016-10-30
  • Linux初识

    N22-熊宝–http://www.178linux.com/author/echeng1514 –马哥教育网络班22期–第1周课程练习   1、描述计算机的组成及其功能: 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别: Linux有众多的发行版,都是基于不同的内核版本,做了许多改…

    Linux干货 2016-08-15
  • Linux基础 文件权限

    概述 从接触linux第一天开始,Linux一切皆文件的哲学思想就深植于每个linuxer的心中,因此,实现Linux的系统安全必然绕不开文件权限。文件的权限是建立在用户的基础上的,脱离了用户,文件权限也就变得毫无意义了。用户、组和文件权限一起铸就了linux的系统安全模型。本文主要从文件权限方面了解Linux的安全模型。 文中主要讲解了: 1. 文件权限r…

    Linux干货 2016-08-05