设置命令的默认参数和别名

  • 每次都要输入 ls -l ,烦不烦,我想用 ll 来表示 ls -l, 可以,只要在 ~/.bashrc 中加上 alias ll='ls -l' ,然后运行 source ~/.bashrc 来使配置立即生效即可。

正则表达式

  • 正则表达式就是有规则的字符串,字符串中有一些特殊字符来表示一定的规则,符合这个规则的字符串就能被匹配上。 如 ^the 表示每一行都以the开头的字符串; ^[^a-zA-Z] 表示所有不以英文字母开头的行。

元字符

  • 所谓元字符,就是这个字符是代表一类字符或这代表某种规则。
  • . 对,就是小数点,它代表除换行符外的任意一个字符,注意是一个字符。
  • \w 匹配字母数字下划线和汉子。注意也是匹配一个字符。
  • \s 匹配任意一个空白符。
  • \d 匹配任意一个数字。
  • \b 匹配单词的开头或结尾
  • ^ 匹配行首。
  • $ 匹配行尾。
  • [^x] 匹配任意不是x的字符。
  • [^xyz] 匹配任意不是x,y,z的字符。
  • 另外linux中大写字母一般表示小写字母的相反意义,上面的 w, s, d, b分别有对应的 W, S, D ,B 分别表示它们的相反意思。

数量及各种括号

  • * 放在一个字符的后面,表示前面的字符可以出现0次或多次。
  • ? 同上,但是表示前面的字符可以出现0次或1次。
  • + 同上,但是代表前面的字符可以出现1次或多次。
  • () 小括号,里面的看作一个整体,也就是看作一个"字符",*,? + 等修饰整个小括号里面的内容。
  • [] 中括号,不论里面有多少字符,它仅表示一个字符,如 [abc] 表示字符a 或 字符b或字符c。
  • {} 大括号,修饰前面的一个字符,表示该字符出现多少次,如 {2} 表示除2次,{3,} 表示出现3或3次以上,{3,9} 表示出现次数在3到9之间,包括3和9. 注意 {} 前要加转义符。
  • | 或,如 abc \| cde ,匹配包含 abc 或 cde的行。注意 | 之前要加转义符。

grep

  • grep: global search regular expression (RE). 一种可使用正则进行文本搜索的工具,并把匹配的行打印出来。

    示例

  • 将 /etc/passwd 没有出现 root 的行取出来 : grep -v /etc/passwd -v 参数就表示相反的意思。
  • 在当前目录及子目录下递归搜索行内有 "important" 的文件 : grep -r 'important' *

  • 在当前目录及子目录下递归搜索行内有 "important" 的文件,但仅显示文件名 : grep -l -r 'important' *
  • 搜寻包含 test 或 tast 的行并显示行号 : grep -n 't[ae]st' test.txt
  • 搜索包含 aa 但是 aa 前面不能是 b 的行: grep '[^b]aa'
  • 搜索所有包含 hi并且hi前面不是小写字母的行: grep [^a-z]hi txt3
  • 搜索包含数字的行: grep -n '[0-9]' txt3
  • 搜索行首是The的行: grep -n '^The' txt3
  • 搜索行首第一个字母是小写的行: grep -n '^[a-z]' txt3
  • 搜索行首第一个字符不是字母的行: grep -n '^[^a-zA-Z]' txt3
  • 搜索行尾为小数点的行:grep -n '\.$' txt3 因为小数点是元字符,所以加了转移字符反斜杠。
  • good. 结尾的行: grep -n 'good.$' txt3
  • 找出类似 g??d 的行: grep -n 'g..d' txt3
  • 找出 g后面跟2个或2个以上o的行: grep -n 'go\{2,\}' txt3 注意大括号要前要加转义符。

egrep 对grep的增强,支持扩展的表达式

  • 搜索所有包含 CN 或 US的行: egrep -n 'CN|US' txt3 | 就是扩展的元字符,
  • 如果使用grep时在扩展的元字符前加反斜杠,grep会自动使用egrep. 如上面的也可写成: grep -n 'CN\|US' txt3
  • 搜索所有包含1个或多个3的行:egrep -n 'o+' txt3
  • 搜索所有包含1个或多个go的行: egrep -n '(go)+' txt3

fgrep,查询速度比grep快,但不会识别正则表达式,只会原样搜索字符串。

  • 搜索包含 ** 的行: fgrep -n '**' txt3

Linux正则和grep命令的更多相关文章

  1. Linux中利用grep命令如何检索文件内容详解

    前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...

  2. Unix/Linux中的grep命令(转)

    本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印 ...

  3. 【Linux基础】grep命令

    1.简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 命令格式:grep [option] pattern file 2.常用参数与举例: -e :  使用P ...

  4. [svc]linux正则及grep常用手法

    正则测试 可以用sublime等工具快速的检测正则是否合适 china : 匹配此行中任意位置有china字符的行 ^china : 匹配此以china开关的行 china$ : 匹配以china结尾 ...

  5. Linux 中的 grep 命令

    一,grep命令有什么用 个人觉得grep命令就是一个对文本或输出进行匹配并控制输出的一个工具,看一下下面的参数,部分翻译了,有不对的地方,还请指正: grep --help 匹配模式选择: -E,  ...

  6. Linux find、grep命令详细用法

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:find命令 find命令的一般形式 ...

  7. windows下类似Linux下的grep命令

    今天要查看windws下代理服务器有哪些IP连接过来,但使用 netstat -na 后出现很多连接会话,不方便查看. 想到Linux下的grep非常方便,于是网络上搜寻,还是有类似的命令findst ...

  8. Linux中通过grep命令检索文件内容和指定内容前后几行

    原文链接: https://www.linuxidc.com/Linux/2017-11/148390.htm Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命 ...

  9. linux(centos8):用grep命令查找文件内容

    一,grep的用途: linux平台有最常用的三大文本处理工具:awk/sed/grep grep的功能:搜索指定文件的内容,按照指定的模式匹配,并输出匹配内容所在的行. 需要注意的地方:grep只支 ...

随机推荐

  1. DAX的圈圈大坑:循环依赖关系错误circular dependency (单表篇)

    使用DAX中的某些函数特别类似Calculate这种函数创建计算列时很容易出现一种错误,叫做检测到循环依赖关系,即:A circular dependency was detected.对于刚接触Da ...

  2. 改变浏览器中默认的ctrl+s方法

    在一般的情况下,我们在浏览网页的时候按下ctrl+s,浏览器会弹出一个保存网页的框. 但是在一些特定的网页中,我们希望ctrl+s不是弹出默认的保存窗口,而是进行一下别的操作. 比如在我们使用简书的时 ...

  3. laravel routes除了默认路由,其他的都无效 解决方案

    按照教程.该php升级到5.5,所有是开放的扩展,默认路由进入,证明代码错误,平时不开rewrite铅 假设你其它路由,localhost/文件夹/public/index.php/home能够进去. ...

  4. windows远程函数不受支持

    输入 regedit打开注册表编辑器, 找目录\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System ...

  5. 6 Wcf使用Stream传输

    1.创建service和client项目 service项目新建wcf服务文件 MediaService 和 IMediaService IMediaService 代码为 using System. ...

  6. 并行编程OpenMP基础及简单示例

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

  7. 微信公众平台中临时二维码的scene_id为32位非0整型

    原文:微信公众平台中临时二维码的scene_id为32位非0整型                                        微信公众平台中临时二维码的scene_id为32位非0整 ...

  8. WPF中取得预定义颜色

    原文:WPF中取得预定义颜色 使用XAML代码取得.net预定义颜色:<Page    xmlns="http://schemas.microsoft.com/winfx/2006/x ...

  9. 使用Adorner显示WPF控件的边界点

    原文:使用Adorner显示WPF控件的边界点 当我们拖动WPF控件时,我们为了更清楚地需要显示控件,一般我们会在WPF控件所围成的矩形区域的四个边界点上作一个特殊的记号(比如圆点).如下图: 在Wi ...

  10. #748 – 获得按下时对应位置点的大小(Getting the Size of a Contact Point during Raw Touch)

    原文:#748 – 获得按下时对应位置点的大小(Getting the Size of a Contact Point during Raw Touch) 原文地址:https://wpf.2000t ...