shell学习笔记之正则表达式

摘要:
linux三剑客grep、awk、sed的强大是和正则分不开的,正则说到最基本的就是:从文件或者命令输出过滤文本。

一:知识背景

sed -i ' /PermitRootLogin no/ s/^.*$/PermitRootLogin yes/g' /etc/ssh/sshd_config

正则表达式的作用实在太强大了!!!!

linux三剑客grep、awk、sed的强大是和正则分不开的,正则说到最基本的就是:从文件或者命令输出过滤文本。正则就是一些特殊字符串的集合

二:语法

shell学习笔记之正则表达式第1张

.:匹配单字符ASCII码,可以是字母也可以是数字

..ab..,可以匹配 dead12、Adab69,.w..w..w.. 可以匹配dwrx..x..x

^: 允许在第一行开始匹配字符

^.01,匹配a01、001sdsadddsa等、^d匹配 d rwxrwxrwx

$:在行尾匹配字符串

$ 放在单词后面,test$匹配所有以test结尾的行

^$匹配所有空行

* :使用*匹配 *号之前的单字符串的零个或者多个(区别于通配符中的*,通配符*是匹配所有字符串)(正则中如果想匹配到所有字符可以使用 .*)

test* 可以匹配 test、testt、testtttttt2Adsw6

:匹配一个特殊字符的含义

假设匹配字符串中的".",但是"."在正则中表示匹配单个字符,所以进行匹配达到效果

匹配“*.properties”结尾所有文件就使用*.propeerties,要不然就匹配到错误的结果

[] :匹配一个范围或集合

【0-9】:匹配0-9任意一个数字

【A-Za-z】:表示大小写字母任意一个

【ou】.*t就可以匹配到bought socket 也就是匹配o或者u开头,后面紧跟一个或多个任意字符并以t结尾的单词

【a-zA-z】*就是匹配所有单词

若[]中添加^表示不匹配,[^0-9]就是不匹配任一非数字字符

{}:匹配模式结果出现的次数

shell学习笔记之正则表达式第2张

A{2}B:匹配出来就是AAB

A{2,}B:匹配就是AAB AAAB AAAAAB等等,无法匹配AB

A{3.5}:匹配就是AAAB AAAAB AAAAAB,其他无法匹配

免责声明:文章转载自《shell学习笔记之正则表达式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇多个不同的页眉页脚【Eureka篇三】Eureka如何管理服务调用(6)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C++(四十八) — string容器的基本操作

参考博客:https://blog.csdn.net/qq_37941471/article/details/82107077 https://www.cnblogs.com/danielStudy/p/7127564.html#top 1、声明一个字符串 标准库类型string表示可变长的字符序列,为了在程序中使用string类型,我们必须包含头文件:#...

Android Monkey压力测试

一、Monkey简介: Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Service做测试。...

用adb命令组装PowerShell实用小工具——Android测试小助手

[本文出自天外归云的博客园] 简介 APP性能测试一般对以下几个方面进行测试: 1.启动时间(可以通过本工具测试); 2.CPU的占用(可以通过本工具测试); 3.内存的占用(可以通过本工具测试); 4.流量的耗用(可以通过本工具测试); 5.电量的耗用(用户实际使用中感知即可)。 除了可以做以上这几个专项测试外,本工具还能进行monkey测试等等。 可...

system执行shell命令

system - execute a shell command #include <stdlib.h> int system (const char *command); 描述 The system() uses fork to create a child process that executes a command specified...

vc字符串转换处理:(绝对精华,收集所有的例子)

  vc字符串转换处理:(绝对精华,收集所有的例子) 1.头文件中要定义宏;         #define   UNICODE         #define   _UNICODE     //////////////////// char   buf[128];    memset(buf,0,128);     strcpy(buf,"你好"...

shell重定向(大于号,小于号,左右,2&amp;gt;&amp;amp;1,&amp;amp;)

本文的例子部分是引用网络上的一篇文章。 Linux的IO输入输出有三类 Standard Input 代码 0Standard Output 代码 1Standard Error 代码 2 举个例子:ls test.sh test1.sh >success.txt 2>&1 将前面执行结果的标准输出流写入success.txt文件,省略...