linux系统符号及正则符号学习

作者:神秘网友 发布时间:2021-02-23 13:56:08

linux系统符号及正则符号学习

参考:https://www.zsythink.net/archives/1845

一、linux系统特殊符号:

引号:

' ' 输出的信息,所见及所得。
'' '' 解析文本中的特定字符,并输出解析后的内容
` ` $() 将引号中的命令先执行,将执行的结果交给外面的命令进行处理,和双引号功能类似,但是可以直接识别通配符信息

补充:(逻辑符号系列

|| 前边执行成功则不执行后面的动作

前面执行成功则执行后面的动作

二、系统通配符:

三、正则表达式字符:

"正则表达式"又称"规则表达式",使用"正则表达式"可以让我们"表达出"某种规则,就像刚才使用到的"hello",我们使用这个正则表达式,表达出了我们的想法,我们的想法就是搜索出位于行首的hello字符串,在正则表达式中,""就表示行首,所以,"^hello"就是表示位于行首的hello字符串,这就是我们想要表达的"规则",这就是"正则",我们利用这个正则表达式,检索出了"符合规则"的文本。

位置匹配符:

^:表示锚定行首,此字符后面的任意内容必须出现在行首,才能匹配。
$:表示锚定行尾,此字符前面的任意内容必须出现在行尾,才能匹配。
^$:表示匹配空行,这里所描述的空行表示"回车",而"空格"或"tab"等都不能算作此处所描述的空行。
^abc$:表示abc独占一行时,会被匹配到。
\或者\b :匹配单词边界,表示锚定词首,其后面的字符必须作为单词首部出现。
\或者\b :匹配单词边界,表示锚定词尾,其前面的字符必须作为单词尾部出现。
\B:匹配非单词边界,与\b正好相反。

连续次数匹配符:

* 表示前面的字符连续出现任意次,包括0次。
.  表示任意单个字符。
.* 表示任意长度的任意字符,与通配符中的*的意思相同。
\ 表示匹配其前面的字符0或1次
\+ 表示匹配其前面的字符至少1次,或者连续多次,连续次数上不封顶。
\{n\} 表示前面的字符连续出现n次,将会被匹配到。
\{x,y\} 表示之前的字符至少连续出现x次,最多连续出现y次,都能被匹配到,换句话说,只要之前的字符连续出现的次数在x与y之间,即可被匹配到。
\{,n\} 表示之前的字符连续出现至多n次,最少0次,都会陪匹配到。
\{n,\} 表示之前的字符连续出现至少n次,才会被匹配到.

常用正则符号:

0.择一匹配 (|)

| 从多个模式中选择其一,类似于逻辑或,例如

1.任意匹配单个字符 (.)

. 匹配除了换行符\n以外的任意字符,例如:

2.从字符串开始或结尾或单词边界匹配(^) ($) (\b) (\B)

^或\A接字符串,表示以该字符串开始(区别:^匹配一行的开始,\A匹配输入的开始)
$或\Z接字符串,表示以该字符串结尾(同上)
\b接字符串,表示以该字符串开始(区别于^和\A:匹配一个单词起始部分,不管该单词前面是否有任何字符。通俗来说:^匹配字符串的开始,\b匹配单词的开始)
\B接字符串,表示以该字符串为子串但不是边界

3.创建字符集,类似于择一匹配 ([])

([])用于匹配某些特定字符,区别于(.)匹配任意字符,匹配方括号中包含的任意字符。

4.限定范围或否定  (-) ([^])

方括号中两个字符以-符号连接表示指定一个范围,在连接的字符之中。
方括号中紧紧连接^符号表示不匹配给定字符集任一字符

5.零次,一次或多次匹配(*) (+) () ;频数匹配 {M} {M,N} {M,}

*将匹配其左边的正则表达式出现零次或多次的情况。
+将匹配其左边的正则表达式出现一次或多次的情况。
将匹配其左边的正则表达式出现零次或一次的情况。
{M}将匹配其左边的正则表达式出现M次的情况。
{M,N}将匹配其左边的正则表达式出现M到N次的情况。
{M,}将匹配其左边的正则表达式出现M次或更多次的情况。

6.表示字符集的特殊字符 (\w)(\d) (\s)

\w  匹配任何字母数字下划线字符
\d   匹配任何十进制数字
\s  匹配任意空格字符

7.括号符号:()

作用:
1.指定信息进行整体匹配
2.进行后项引用前项使用 (配合sed 替换功能和 \1 使用)

示例:批量创建用户

echo test{0..10} | xargs -n1 | sed -r 's#(.*)#useradd \1#g' | bash

示例:输出123456

linux系统符号及正则符号学习 相关文章

  1. linux内核调优以及参数参考值

    #最大的待发送TCP数据缓冲区空间 net.inet.tcp.sendspace=65536 #最大的接受TCP缓冲区空间 net.inet.tcp.recvspace=65536 #最大的接受UDP缓冲区大小 net.inet.udp.sendspace=65535 #最大的发送UDP数据缓冲区大小 net.inet.udp.maxdgram=65535 #本地套接字连

  2. Redis 日志篇:系统高可用的杀手锏

    特立独行是对的,融入圈子也是对的,重点是要想清楚自己向往怎样的生活,为此愿意付出怎样的代价。 我们通常将 Redis 作为缓存使用,提高读取响应性能,一旦 Redis 宕机,内存中的数据全部丢失,假如现在直接访问数据库大量流量打到 MySQL 可能会带来更加严

  3. linux7.4安装webbench测试工具-nginx并发测试

    linux7.4安装webbench测试工具 一.安装webbench 1.如果没有安装GCC就先执行 #yum -y install gcc automake autoconf libtool make 2.安装ctags及创建一个文件夹 #yum install ctags #mkdir -m 644 -p /usr/local/man/man1 3.获取及安装webbench #wget http:/

  4. css常用单位与选择器

    5个常用单位 px ,和当前操作系统视窗分辨率有关 em ,和父级元素的字体大小有关,即父级元素的字体大小的x倍的意思,如果父级元素没有设置,一直找到html顶级元素为止 rem ,是html字体大小的倍数,与父级元素无关 vh/vw ,和浏览器当前尺寸有关,即浏览器

  5. centos系统优化shell

    #!/bin/bash #Cenetos6/7初始化脚本 # get os version RELEASEVER=(rpm?q??qf"(rpm?q??qf"(rpm -q --whatprovides redhat-release)) # configure yum source cd /etc/yum.repos.d/ mkdir /etc/yum.repos.d/bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/

  6. 基于 Web 的 Linux 终端 WebTerminal

    有时候用公共电脑,或者在没有安装 putty、xshell 之类的终端的电脑上访问或展示服务器上的一些资料数据,甚至是在运维平台开发中想要嵌入 WebTerminal 功能,于是找到了这个项目——基于 Web 的 Linux 终端 webSSH。 webSSH 是 Python 语言写的一个基于 tor

  7. QSPI FLASH与SD卡同时支持fatfs文件系统

    上一篇我们已经在QSPI FLASH上支持了fatfs文件系统:这次我们继续在该代码上支持SD卡文件系统,ST官方在维护CubeMX上对多个硬件驱动的fatfs兼容性做得非常好,所以还是用STM32CubeMX来配置就可以了: 小熊派上硬件SD卡接口: 1、SD卡配置 STM32Cube-19 | 使

  8. 基于单片机温湿度光照控制系统仿真设计-设计资料

    资料下载地址-1095(百度网盘):点击下载 /************************************************************************ 使用芯片: STC89C52RC* 使用晶振: 12MHz* 编程方式: 框架式编程***************************************************************

  9. deepin20.1系统安装MySQL8.0.23(超详细的MySQL8安装教程)

    下载MySQL-8.0.23 点击下载:mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz 解压MySQL的安装包到一个目录(这里我选择的是:/usr/local) 1 sudo tar -Jxv -f /home/×××shanlin/Downloads/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz -C /usr/local/ 注意

  10. 基于单片机心跳体温血压系统仿真设计-毕设资料

    资料下载地址-1104(百度网盘):点击下载 本设计利用红外光电传感器产生脉冲信号,经过放大整形后,输入单片机内进行相应的控制,从而测量出一分钟内的脉搏跳动次数,快捷方便。测量范围限可以用按键调节,并进行声音报警,测量结果以数字方式显示,测量精

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词