正则表达式和三剑客-1

1.正则表达式

[0-9]             任意一个数字字符

[^0-9]           任意一个非数字,取非

^[0-9]           表示以数字开头

[a-z]              任意一个小写字母

[a-zA-Z]        任意一个字母,正则表达式中区分大小写

.                  表示任意一个字符

*                   表示匹配*号前面的字符任意次,包含0次

.*                   表示任意个任意字符

\+                   表示匹配+号前面的字符1次或多次,至少1次

\?                   表示匹配?号前面的字符0次或1次

{n}                    表示其前面字符出现的次数

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

|                      表示匹配|号左面或右面

2.  grep/egrep命令

grep  [-cinvABC]  ‘word‘  filename1  filename1…..

选项

-c           count,统计匹配的行数

-n           number,匹配的行显示在原文件中的行号

-v            取反,显示不匹配的行

-r            递归遍历子目录下的所有文件

-A<n>     过滤显示出匹配行的上面的n行,不包括匹配行

-B<n>     过滤显示出匹配行的下面的n行,不包括匹配行

-C<n>     context(上下文),过滤出匹配行的上面和下面n行,不包括匹配行

注意:grep  -E   等价于  egrep

3. sed命令

1)选项

  -n                    取消默认输出,仅输出匹配的行

  -r                     类似grep的-E选项,特殊符号不需要脱义

   -i                     sed命令处理文件,仅输出处理的结果,文件的内容不会更改保存;

      -i选项,文件的内容会更改保存。

  -e                    多次处理匹配行

2)打印输出匹配行,类似grep,但匹配的关健字不带颜色显示

3)打印指定行

1)sed  -n  ‘2’p   file               打印第2行

2)sed  -n  ‘2,5’p  file              打印第2到第5行

sed  -n  ‘2,$’p  file              打印第2到最后(尾)行

sed  -n  ‘1,$’p  file              打印所有行

4)查找替换字符

针对字符

针对正则表达式

5)删除某些字符,即把某些字符替换成空

6)在行首新增字符

7)引用()内的内容;贪婪匹配

test.txt的内容,把第一个冒号前的内容和最后一个冒号后的内容调换

原文地址:https://www.cnblogs.com/tanzhirong/p/11366733.html

时间: 2024-11-01 02:03:50

正则表达式和三剑客-1的相关文章

Linux正则表达式结合三剑客实例

Linux正则表达式结合三剑客实例 案例一:取 ifconfig eth0 中的 inet addr 的 ip法一:ifconfig eth0|sed -n '2p'|sed -n 's#^.dr:##gp'|sed -n 's# B.$##gp'法二:ifconfig eth0|sed -n'2s#^.dr:##gp'|sed -n 's# B.$##gp'法三(后向引用):ifconfig eth0|sed -nr '2s#^.dr:(.) B.*$#\1#gp'练习法三:需要注意 sed:

Linux正则表达式与三剑客

前面我们学习了Linux的基本命令,不到50个吧,这些命令仅仅使我们学会使用Linux,但是想要玩儿好Linux还不是不够的,下面我讲下Linux中最重要的三个命令在业界被称为"三剑客".他们是awk,sed,grep.我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令.具体怎么使用就是我们今天要讲的: 在说这三个命令前我们要插入一个小插曲就是"正则表达式". 什么是正则表达式呢? 所谓

正则表达式与三剑客的使用技巧

1.正则表达式的基础 ^               ^锚定行的开始如:/^sed/匹配所有以sed开头的行 $               $锚定行的结束 如:/sed$/匹配所有以sed结尾的行 .                .匹配一个非换行符的字符 如:/s.d/匹配s后接一个任意字符,然后是d ?               代表前趋字符的一次出现 *               *匹配零或多个字符 如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行 []        

正则表达式及三剑客(grep,awk,sed)详解

博文结构什么是正则表达式基础正则表达式延伸正则表达式文件的格式化与相关处理 一.grep 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式对于系统管理员的用途 由于系统如果在繁忙的情况之下,每天产生的讯息信息会多到你无法想像的地步,而我们也都知道,系统的"错误讯息登录文件"的内容记载了系统产生的所有讯息,当然,这包含

Linux正则表达式结合三剑客企业级实战

1.取系统ip 解答: 1)ifconfig ens33 |sed -n '2p'|sed "s#inet##g"|sed 's#n.*$##g'  2)ifconfig ens33 |sed -n '2s#inet##gp'|sed 's#  n.*$##g' 原文地址:https://www.cnblogs.com/dongxu2019/p/11506410.html

通配符 特殊符号与正则表达式

课前:磁盘空间不足系列:原因 排查过程 解决 1.block df -h; du -sh /data/* 具体的文件或目录 确认之后删除 2.block(硬连接数为0 进程调用数不为0) lsof|grep delete 重启对应的服务3.inode df -i; 找出系统中大于1M的目录 删除大量小文件 时间:Mtime Modify time 修改时间Ctime Change time 文件属性变化时间atime Access time 访问时间(cat)Stat/etc/hosts 三种时

Linux之特殊符号与正则表达式

Linux中常用的特殊符号 '' 所见即所得,吃啥吐啥 "" 特殊符号会被解析运行 `` ==== $() 先运行里面的命令 把结果留下 > 重定向符号 先清空文件的内容 然后追加文件的最后 >> 追加重定向 追加文件的最后 2> 错误重定向 只有错误的信息 才会通过这个漏洞进入文件中 2>> 错误追加重定向 ~ 当前用户的家目录 root ~ /root oldboy ~ /home/oldboy ! 查找并运行历史命令 !awk 包含awk的命令

文件属性、正则表达式、文件权限

一.文件属性 [[email protected] ~]# ls -lhi /etc/hosts 39 -rw-r--r--. 2 root root 352 Nov 19 2018 /etc/hosts 39:inode号码 -:文件类型 rw-r--r--. :文件的权限.(与selinux有关,关闭selinux就无点) 2:文件硬链接数量 root root:属主,属主组 352:文件的大小 Nov 19 2018:文件修改时间 *文件名不属于文件属性 (一)inode和block简介

精讲shell基础以及如何高效的学习shell编程

1.前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容.只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础 1.2 学好Shell编程所需的基础知识