目录

linux-正则表达式学习

目录

linux 正则表达式学习

本篇主要学习几个正则表达式匹配符:

  • ^:锚定行首
  • $:锚定行尾
  • \< 或者 \b:锚定词首
  • \>或者 \b:锚定词尾
  • \B:匹配”非单词边界”

下面通过实验彻底掌握:

测试文件内容如下:

cat test.txt

10.213.148.53   1c83-4180-11f9  19        D-0         Eth-Trunk49
10.213.148.55   1c83-417f-f31a  18        D-0         Eth-Trunk48

10.213.148.58   e861-1a1f-f2b1  11        D-0         Eth-Trunk45
10.213.148.59   e861-1a1f-f498  14        D-0         Eth-Trunk44


10.213.148.5    b00c-d13a-8d8d  17        D-0         Eth-Trunk48

筛选以10.213.148.53 开头的行,使用 ^ 锚定行首:

https://i-blog.csdnimg.cn/direct/819b5dbb07c444b0b24a334782bb05fb.png

筛选以Eth-Trunk48 结尾的行,使用 $ 锚定行尾:
https://i-blog.csdnimg.cn/direct/fb14943e14694b6995cff623202d6243.png

使用 ^$ 结合筛选空白行 配置 -v 反选可以筛选出非空白的行

https://i-blog.csdnimg.cn/direct/f625d4c01e824af68c06ef95ffb01721.png

筛选以e861 开头的行,使用\< 或者 \b 锚定词首
https://i-blog.csdnimg.cn/direct/ad813374c0a742c3ab9edae96f66c07b.png

筛选以8d8d结尾的行,使用 \>或者 \b锚定词尾
https://i-blog.csdnimg.cn/direct/ace8dbfa55044d3fb8b116d2b07196ec.png

筛选以单词e861-1a1f-f498开头结尾的行,使用"\>e861-1a1f-f498\<" 或者"\be861-1a1f-f498\b"
https://i-blog.csdnimg.cn/direct/270c0879841d4dac990d42503c5a629b.png

筛选不以单词10.213.148.5开头或者结尾的行
https://i-blog.csdnimg.cn/direct/fd775d02702e4cfab4cc7493be92294b.png