目录

  • 设置命令的默认参数和别名
  • 正则表达式
    • 元字符
    • 数量及各种括号
  • grep
    • egrep 对grep的增强,支持扩展的表达式
    • fgrep,查询速度比grep快,但不会识别正则表达式,只会原样搜索字符串。

正文

回到顶部

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

  • 每次都要输入 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

来源:https://www.cnblogs.com/imap/p/7608406.html

Linux正则和grep命令相关推荐

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

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

  2. Linux下的grep命令

    Linux下的grep命令 作用:grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来.若不指定任何文件名 ...

  3. linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法

    这篇文章主要介绍了Linux中使用grep命令搜索文件名及文件内容的方法,同时文中还介绍了将匹配结果高亮显示的方法,相当实用,需要的朋友可以参考下 从文件中搜索并显示文件名 当从多个文件中搜索时,默认 ...

  4. linux下grep同时匹配多个单词,Linux下使用grep命令搜索多个单词的方法

    摘要 腾兴网为您分享:Linux下使用grep命令搜索多个单词的方法,篆刻字典,中国知网,虚拟机,微博等软件知识,以及掌上公交app,尚书ocr,汇博企业,强密码,支付宝,mh,海融易,我的世界火影忍 ...

  5. Unix/Linux 中的 grep 命令

    Unix/Linux 中的 grep 命令参数及示例用法 作用 语法 主要参数 示例命令 作用 Grep 筛选器在文件中搜索特定的字符模式,并显示包含该模式的所有行.在文件中搜索的模式称为 正则表达式 ...

  6. 【Linux】使用grep命令查找文件内容

    文章目录 grep简介 grep语法 grep常用选项 示例 模式匹配 grep命令使用简单实例 grep命令使用复杂实例 cat/more/tail 与 grep组合使用 grep简介 grep是l ...

  7. Linux三剑客之grep命令详解及相关实例

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用 ...

  8. 在linux下给grep命令添加颜色

    1打开文件,添加如下一段话         vim ~/.bashrc        alias grep='grep --color'   2退出保存     source ~/.bashrc   ...

  9. Linux下的grep命令详解

    grep命令 使用grep命令可以查找文件内符合条件的字符串. 命令语法: grep [选项] [查找模式][文件] 命令中各选项的含义如表所示. 表                          ...

最新文章

  1. PXE BOOT INSTALL WINXP
  2. RUBY,玩玩~~~
  3. 光流 | OpenCV中的光流有关函数
  4. 【mysql】[error]group_concat造成的sql语法错误
  5. 蓝桥杯 - 序列计数(记忆化搜索)
  6. 55万字,阿里内部最新最全Java面试进阶手册,能横扫95%的面试官
  7. Spark Streaming 实战案例(一)
  8. Tensorflow Lite人体姿势跟踪功能上线:基于PosNet的实时人体姿态估计
  9. html css 圆形按钮 仿uc,10款基于jquery的web前端动画特效
  10. VS2017+海康威视工业相机调用查找不到设备的问题
  11. CentOS 8配置阿里YUM源
  12. 2022年PC必备的5款软件,功能强大且免费,你用过几个?
  13. 如何克隆路由器MAC地址,怎么操作?
  14. CMMI-V2.0真题模拟(1)
  15. SQL的select 语句的执行顺序
  16. c语言tab什么意思_C语言入门学好这一篇就足够了!C语言所有的知识点
  17. 求解最优化问题的方法:拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
  18. Azure微软云部署平台
  19. weblogic12.1.3applySession在系统修改阶段失败。。。(GDR-70005)
  20. matlab的功能excel有吗,如何使用Excel的功能

热门文章

  1. proxmoxve打造云桌面_基于PROXMOX VE的家庭NAS搭建方案
  2. solr获取同义词 java_java操作solr实现查询功能的实例
  3. SpringCloud动态获取yml文件里面的自定义配置
  4. 一步步创建Qt Widget项目+TextFinder案例(摘自笔者2015年将出的《QT5权威指南》,本文为试读篇)
  5. CCTMXTiledMap的使用
  6. JPA注解(这里包含sequence类型的)
  7. 6种CSS控制元素上下居中效果
  8. 04-Servlet入门+http协议
  9. Python数据分析pandas之dataframe初识
  10. Scikit-learn 数据预处理之标准化StandardScaler