0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中的正则表达式用法

Linux爱好者 来源:Linux爱好者 作者:Linux爱好者 2020-10-10 14:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列。拥有强大的字符搜索功能。也非常方便的搜索过滤出我们想要的内容。

Linux系统:CentOS Linux release 8.1.1911 (Core)

1、找出 ifconfig “网卡名” 命令结果中本机的 IPv4 地址 ifconfig | head -n 2 |tail -1 |tr -s “ ” |cut -d“ ” -f3

2、查出分区空间使用率的最大百分比值 df |tr -s " " |cut -d" " -f5

3、查出用户 UID 最大值的用户名、UID 及 shell 类型 cat /etc/passwd | cut -d: -f1,3,7| sort -nt: -k2 |tail -n 1

4、查出 /tmp 的权限 stat /tmp | head -n 4 |tail -n 1|cut -c10-13

5、显示 CentOS8 上所有系统用户的用户名和 UID cat /etc/passwd |cut -d: -f1,3 | egrep -v "[0-9]{4,}"

6、显示三个用户 root、linuxmi、mi 的 UID 和默认 shell(A8代替)
cat /etc/passwd |egrep "^(root|A8)" |cut -d: -f1,3

7、使用 egrep 取出 /etc/rc.d/init.d/functions 中显示文件中符合条件的字符
echo /etc/rc.d/init.d/functions | egrep "[a-z]$"

8、使用egrep取出上面路径的目录名
echo /etc/rc.d/init.d/functions | egrep "/.*/"

9、统计 last 命令中以 root 登录的每个主机IP地址登录次数

10、利用扩展正则表达式分别表示0-9、10-99、100-199、200-249、250-255 echo {1..255} | egrep "<[0-9]>"

egrep "<1[0-9]>"

egrep "<1[0-9][0-9]>"

egrep "<2[0-4][0-9]>"

egrep "<25[0-5]>"

11、显示 ifconfig 命令结果中所有 IPv4 地址 ifconfig |egrep "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"

简单点来说,正则表达式是对一组正在处理的文本的描述。
责任编辑:YYX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11817

    浏览量

    219535
  • 字符
    +关注

    关注

    0

    文章

    237

    浏览量

    26274

原文标题:Linux 中几个正则表达式的用法

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请教一个C语言的指针问题,求解答

    C语言的指针,多多少少还是有些难度的,容易有些混淆。 请教大家下面的这个表达式是啥意思呢? short (*p)[size] = (short (*)[size])0x8ff00000; 是否为在0x8ff00000地址处分配size大小给p? (PS:运行是 linux
    发表于 01-12 08:14

    布尔表达式及范围检查

    一个常用的布尔表达式是用于判断变量是否位于某个范围内, 例如,检查一个图形坐标是否位于一个窗口内: bool PointInRectangelArea (Point p, Rectangle
    发表于 12-12 07:08

    C语言的分支结构介绍

    1.简单if语句 C语言中的分支结构语句中的if条件语句。 简单if语句的基本结构如下: 代码语言:javascript if(表达式) { 执行代码块; } 其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 注意:if()后面没有分号,直
    发表于 11-25 07:48

    C语言强制类型转换

    表达式都必须加括号, 如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。 转换后不会改变原数据的类型及变量值,只在本次运算临时性转换。 强制转换后的运算结果不遵循四舍五入原则。
    发表于 11-24 06:32

    第4章 C语言基础以及流水灯的实现(4.5 4.6)

    (表达式)        {            循环体语句;        } 在C语言里,通常“表达式”符合条件叫做真,不符合条件,叫做假。比如前边i while(表达式)这个括号里的
    的头像 发表于 11-06 11:21 509次阅读

    inline ASM(内联汇编)的细节分享

    内联汇编,否则,仍然是带有C++表达式的内联江编,此时\"instructionlist\"的寄存器的写法需要遵守相关的规定: 寄存器前必须使用两个百分号(%%),而不是像
    发表于 10-31 09:11

    I1电流计算对不对?怎么推导不出来I1的表达式是图中那样

    I1电流计算对不对?怎么推导不出来I1的表达式是图中那样
    发表于 09-28 18:01

    labview如何使用VISA串口资源查找的正则表达式提取串口的资源名称?

    如图,如何利用VISA资源查找的正则表达式从很多串口当中提取想要的目标串口(Quectel USB AT Port这个串口)?
    发表于 07-07 17:20

    基础篇3:掌握Python的条件语句与循环

    不同的条件执行不同的代码块。Python的条件语句主要使用if、elif(else if的缩写)和else关键字。 if语句 最简单的条件语句是if语句,它的工作方式如下: 复制代码 if 条件表达式
    发表于 07-03 16:13

    Cubeide1.18.1在线调试改变\"现场表达式\"的值提示找不到地址,为什么?

    Cubeide1.18.1在线调试时,在\"现场表达式\"添加全局变量,然后改变其数值,Console窗口提示: Failed to read all registers
    发表于 06-12 06:50

    《ESP32S3 Arduino开发指南》第三章 C/C++语言基础

    :① if语句,用来实现两个分支的选择结构 ② switch语句,用来实现多分支的选择结构。 选择结构if,具体用法如下表所示:if (表达式) {语句}if (表达式) {语句1}else {语句2
    发表于 06-10 09:20

    Cubeide1.18.1在线调试改变\"现场表达式\"的值提示找不到地址是怎么回事?

    Cubeide1.18.1在线调试时,在\"现场表达式\"添加全局变量,然后改变其数值,Console窗口提示: Failed to read all registers
    发表于 06-10 08:26

    干货分享 | 零基础上手!TSMaster图形信号表达式实操指南

    TSMaster软件支持在图形里面的信号表达式功能,主要用于多信号表达式运算和显示的场景。本文将以A2L的标定变量为例,介绍如何使用图形的信号
    的头像 发表于 06-06 20:03 1020次阅读
    干货分享 | 零基础上手!TSMaster图形信号<b class='flag-5'>表达式</b>实操指南

    Cubeide1.18.1在线调试改变\"现场表达式\"的值提示找不到地址,怎么解决?

    Cubeide1.18.1在线调试时,在\"现场表达式\"添加全局变量,然后改变其数值,Console窗口提示: Failed to read all registers
    发表于 06-06 08:27

    Cubeide1.18.1在线调试改变\"现场表达式\"的值提示找不到地址怎么解决?

    Cubeide1.18.1在线调试时,在\"现场表达式\"添加全局变量,然后改变其数值,Console窗口提示: Failed to read all registers
    发表于 04-27 06:18