• 时间:2018-11-15 记录:byzqy

正则表达式与通配符:

正则表达式,用来在文件中匹配符合条件的字符串,正则是包含匹配。

grep、awk、sed 等命令可以支持正则表达式。

通配符,用来匹配符合条件的文件名,是完全匹配。

ls、find、cp 这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。

通配符:

*(星号),代表任意字符重复任意多次;

?(问号),代表任意字符重复一次;

[](中括号),代表一个字符即中括号中写的字符;

示例:在anaconda-ks.cfg这个文件当中搜索size这个字符串

$ grep "size" anaconda-ks.cfg

注意:正则表达式中有一些符号和通配符一样,但是含义完全不同。

基础正则表达式:

示例:星号(*)前面一个字符匹配0次,或任意多次

$ grep "a*" test_rule.txt

# 匹配所有内容,包括空白行;

$ grep "aa*" test_rule.txt

# 匹配至少包含有一个a的行;

$ prep "aaa*" test_rule.txt

# 匹配最少包含两个连续a的字符串;

$ grep "aaaaa*" test_rule.txt

# 匹配最少包含4个连续a的字符串。

示例:点号(.)匹配除了换行符外的任意一个字符

$ grep "s..d" test_rule.txt

# “s..d”会匹配在s和d这两个字母之间一定有两个字母的单词;

$ grep "s.*d" test_rule.txt

# 匹配在s和d字母之间有任意字符;

$ grep ".*" test_rule.txt

# 匹配所有内容。

示例:尖号(^)匹配行首,美元符($)匹配行尾

$ grep "^M" test_rule.txt

# 匹配以大写“M”开头的行;

$ grep “n$” test_rule.txt

# 匹配以小写“n”结尾的行;

$ grep -n "^$" test_rule.txt

# 会匹配空白行。(-n是grep的参数,表示匹配结果中显示行号)

示例:中括号([])匹配中括号中指定的任意一个字符,只匹配一个人字符

$ grep "s[ao]id" test_rule.txt

# 匹配s和i字母中间,要么是a,要么是o;

$ grep "[0-9]" test_rule.txt

# 匹配任意一个数字;

$ grep "^[a-z]" test_rule.txt

#匹配用小写字母开头的行。

示例:中括号中加尖号([^])匹配除中括号指定的字符以外的任意一个字符

$ grep "^[^a-z]" test_rule.txt

# 匹配不用小写字母开头的行;

$ grep "^[^a-zA-Z]" test_rule.txt

# 匹配不用字母开头的行。

示例:转义符(\)让特殊符号丧失它的特殊含义,回归到普通字符本身

$ grep "\.$" test_rule.txt

# 匹配使用 “.”结尾的行。

示例:“\{n\}”表示其前面的字符恰好出现n次

$ grep "a\{3\}" test_rule.txt

# 匹配a字母连续出现三次的字符串;

$ grep "[0-9]\{3\}" test_rule.txt

# 匹配包含连续的三个数字的字符串。

示例:“\{n,\}”表示其前面的字符出现不小于n次

$ grep "^[0-9]\{3,\}[a-z]" test_rule.txt

# 匹配最少用连续三个数字开头的行。

示例:“\{n,m\}”表示匹配其前面的字符至少出现n次,最多出现m次。

$ grep "sa\{1,3\}i" test_rule.txt

# 匹配在字母s和字母i之间最少有一个a,最多有3个a。

--the end--

Linux命令集锦之·正则表达式的更多相关文章

  1. Linux命令集锦

    梳理常用的Linux命令 day1--cd命令 cd命令:(注意以下的命令,cd后均有一个空格) 1.进入盘符: cd f: 2.进入当前目录命令: cd . 3.进入指定文件夹(在进入确定盘符之后, ...

  2. 手把手 git建立仓库,远程推拉及常用git命令和部分Linux命令集锦

    方法一:直接在GitHub上建立一个项目,然后git clone (git address name): 此时已经建立好了一个git仓库: cd 文件夹 > 添加文件进去 >git add ...

  3. Linux命令集锦:crontab命令

    Linux crontab是用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crontab命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作. 而 ...

  4. Linux命令集锦:scp命令

    scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的,可能会稍微影响一下速度.当你服务器硬盘变为只读 read on ...

  5. Linux 命令集锦

    linux 一切从根开始,一切皆文件~ 让我们从一些命令开始了解吧 基本命令 man  command:manual:查看命令帮助手册 ls:list:查看当前文件夹下的内容 -a 查看所有内容,包含 ...

  6. Linux命令中使用正则表达式

    在使用grep.awk和sed命令时,需要使用正则表达式.比如我通过grep找代码编译结果中是否有错误.或者是否有我代码的错误.这里说下正则表达式基本的应用: • 匹配行首与行尾.• 匹配数据集.• ...

  7. 有用的linux命令集锦

    http://blog.csdn.net/hackerain/article/details/7946193 1. 查看内存使用情况 free -m 2. 查看系统版本信息 sudo lsb_rele ...

  8. linux命令集锦 基于centos7---优化linux的命令

    sed -i ‘s###g’ /etc/selinux/config  3个# 用于更改selinux配置文件:sed -i 's#SELINUX=enforcing#SELINUX=disabled ...

  9. 常用Linux命令集锦-ls命令

    1.命令格式:ls [选项] [目录名] 2.常用参数 -a:列出该目录下所有文件(包含隐藏文件). -A:列出该目录下除了隐藏文件的所有文件. -l:以行显示目录下的所有文件.输出信息从左到右分别是 ...

随机推荐

  1. P5591 小猪佩奇学数学

    P5591 小猪佩奇学数学 知识点 二项式定理 \[(x+1)^n=\sum_{i=0}^n\binom nix^i \] 单位根反演 \[[n\mid k]=\frac 1n\sum_{i=0}^{ ...

  2. Python自动化测试面试题-用例设计篇

    目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...

  3. C#制作网盘搜索工具(简单的爬虫)

    最近学习C#编程,在网上发现一篇winform下制作百度网盘搜索器的文章,故而下载源码学习一二.无奈原博所用的网址失效,故而自己改写了网址和相关源代码,也进行了实现.因为初学,接触的知识较多,为免忘记 ...

  4. 使用Python玩转阿里云盘

    项目地址: https://github.com/foyoux/aligo 这个项目起源于我的一个简单需求, 我有25000个文件, 已经上传了9000个, 但是现在我把这些文件重新整理了, 最后我不 ...

  5. SQL根据两个日期生成年、月、日

    1 DECLARE @beginTime DATETIME, @endTime DATETIME 2 SET @beginTime ='2019-03-01' 3 SET @endTime ='201 ...

  6. Python爬虫+可视化教学:爬取分析宠物猫咪交易数据

    前言 各位,七夕快到了,想好要送什么礼物了吗? 昨天有朋友私信我,问我能用Python分析下网上小猫咪的数据,是想要送一只给女朋友,当做礼物. Python从零基础入门到实战系统教程.源码.视频 网上 ...

  7. 模拟input type=file

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. git基本命令-直接上手使用

    git基本命令-直接上手使用 此篇为直接是使用git,如果想了解其原理和其他详细信息,请关注我,看其它相关文章 git创建仓库(初始化仓库) 使用当前目录作为仓库 git init // 执行该目录后 ...

  9. XV6学习笔记(1) : 启动与加载

    XV6学习笔记(1) 1. 启动与加载 首先我们先来分析pc的启动.其实这个都是老生常谈了,但是还是很重要的(也不知道面试官考不考这玩意), 1. 启动的第一件事-bios 首先启动的第一件事就是运行 ...

  10. Package Repository for Ubuntu Offline Installation

    For example, we need install "unzip" command on a Ubuntu machine without Internet. On a on ...