linux-shell编程

POSIX标准将正则分为两类

基本正则
扩展正则

基本正则表达式元字符集合及其意义

基本正则表达式元字符集合及其意义

    元字符 意义                  举例
    *   匹配前一个普通字符0次或多次重复        hel*o,可以匹配hello,helllo
    .   匹配任意一个字符,或者空格           ..73.,可以匹配45732,4 732
    ^   匹配行首,或在[]里面匹配后面字符的非-取反  ^clean,匹配以clean开头的行
    $   匹配行尾                    nologin$,匹配以nologin结尾的行
    []  匹配字符集合              [0123456789],匹配任意一个数字(穷举)
    \   转义符,屏蔽一个元字符的特殊意义        
    \<\>    精确匹配符号              \<this\>,精确匹配this这个单词,不会匹配thiser等
    \{n\}   匹配前面字符出现n次          hel\{2\}o,精确匹配l两次,匹配hello
    \{n,\}  匹配前面字符至少出现n次            hel\{2,\}o,匹配l至少两次
    \{n,m\} 匹配前面字符出现n~m次            hel\{2,3\}o匹配l次数为2到3次

基本正则的常见用法
                        注意:空格也算是字符
    写法      意义
    ^$      匹配空行
    ^.$     匹配只包含一个字符的行
    [0-9]       匹配任意一个数字(范围)
    [^b-d]      匹配任意不在b到d之间的字符

扩展正则表达式元字符集合及其意义

扩展正则表达式元字符集合及其意义
    元字符 意义                  举例
    ?   匹配前面那个字符0次或者一次      jo?b,可以匹配job,joob
    +   匹配前面那个字符1次或多次,与*类似  se+,可以匹配see,seee
    ()  表示一个字符集合或用在expr中        re(a|e|d)d,可以匹配read,reed,redd,等价于re[aed]d
    |   表示或,匹配一组可选的字符       正则1|正则2|正则3|...

通配介绍

通配元字符及其意义
    元字符 意义          举例
    *   表示任意字符      rm ./*
    ?   表示一个任意字符        ls /et?
    ^   表示取反            ls /var/log/[a-z]*.[^awk]*匹配任意一个以字母开头,不以awk结尾的日志
    []  字符集         ls /var/log/[a-z]*.log,匹配任意以字符开头的日子文件
    {}  表示一组表达式的集合  ls /var/log/{[a-z]*.[^awk]*,[a-z]*.log},满足其中任意一个,是或的关系

bash shell本身不支持正则表达式,但shell支持通配,使用正则的是shell命令和工具如sed,grep,awk,

通配的常见用法
    cp ifcfg-eth0{,.bak}    将网卡文件复制以.bak备份一次,相当于:cp ifcfg-eth0 ifcfg-eth0.bak

shell 多行注释

#!/bin/bash
<<NOTE
这里面是多行注释,不会被执行
echo "这个也不会被执行"
NOTE

echo "这个会被执行"

shell开子进程与不开子进程方式执行方式

#开子进程执行脚本的方式
bash test.sh 或者 ./test.sh

#不开子进程执行脚本的方式
source test.sh 或者 . test.sh

#PS:子进程可以使用pstree命令进行查看

echo搭配常见转义字符

#常见转义字符
\f  执行换行,光标仍停留在原来的位置
\n  执行换行,光标移至行首
\t  插入tab制表符
\\  打印\
\033或者\e    设置终端属性,如字体颜色,背景颜色,定位光标等

file

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/538.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2022/12/22作者: 辣条①号

现在在做什么? 接下来打算做什么? 你的目标什么? 期限还有多少? 进度如何? 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录