操作系统正则符号学习笔记

1.系统符号

1.1 系统符号作用

①简化操作

如:.. ~ ; &&

~ 一般家目录

;两条命令一行执行,先执行前面的命令,再执行后面的命令

&& 前一条命令成功才会执行后面的

②进行匹配

1.2 系统特殊符号

①基础符号系列

美元符号:$       //取变量内容、配合awk去列、普通用户提示符

叹号符号: !         //取反、强制

竖线符号: |         //前一个命令执行结果交给后面命令处理

xargs命令

用作替换工具,读取输入数据重新格式化后输出

多行输入单行输出

-i 或者是-I:将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替

-t 表示先打印命令,然后再执行

-n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的,实现多行输出

②引号符号系列

'' 输出的信息,写什么显示什么

"" 和单引号功能类似 但对特殊信息会做解析

③重定向输出符号

重定向:在文本中显示

>或者1> 标准输出重定向符号

2> 错误输出重定向符号

>>或者1>> 标准输出追加重定向符号,在原来的内容下追加

2>> 错误输出追加重定向符号

&> 正确错误重定向输出

< 标准输入重定向符号

<< 标准输入追加重定向符号

④路径信息系列

../ 上一级目录

./ 当前路径

~ 返回到家目录

- 两个目录之间进行快速切换

⑤逻辑符号系列

&& 与逻辑符号

前一个命令执行成功, 再执行后面的命令

|| 或逻辑符号

前一个命令执行失败, 再执行后面的命令

1.3 系统通配符号

*

模糊匹配所有内容

{}

  • 生成序列信息 (生成一行序列)
  • 生成连续序列 echo {1..10}
  • 生成不连续序列 echo {1..10..2} 奇数序列 echo {0..10..2} 偶数序列 2是间隔
  • 生成组合序列:echo {A,B}{01,02}   echo A{,02}

常用的文件备份操作

cp /etc/passwd{,.back}

将刚刚的备份文件快速还原

cp /abc123/test.txt{.back,}

2. 正则符号

2.1 基本正则符号

①尖角符号:^

以什么开头的信息

②美元符号:$

以什么结尾的信息

③^$

空行

④点符号 .

匹配任意一个字符,且只有一个字符

grep "." ~/test.txt -o

-o 显示匹配过程

⑤星符号 *

匹配前一个字符连续出现了0次或者多次

⑥点和星结合: .*

匹配任意所有信息

⑦ 转义符号: \

作用:

1)将有特殊意义符号,转义成普通信息进行识别

2)将没有意义的信息转义为有特殊意义的信息

\n 换行符号

\t 制表 就是tab空格

echo -e "\e[1;31m This is red text \e[0m"

//e为字体上色,\e[0m,为将颜色重置为默认颜色,否则之后所输出的所有信息都将是31号颜色

重置=0 黑色=30 红色=31 绿色=32 黄色=33 蓝色=34 粉色=35 青色=36 白色=37

⑧括号符号:[ ]

有包含a、b、c的行

⑨括号和尖号组合 [^]

除了a、b、c外,匹配包含其他字符的行

grep "[^abc]" test.txt

 

2.2 扩展正则符号

默认 grep sed不能直接识别

在使用扩展正则符号时

egrep/grep -E

sed -r

①+号符号

匹配前一个字符连续出现了1次或者多次

②竖线符号:|

或者符号,用于匹配多个信息

③括号符号: ()

作用:

1)指定信息进行整体匹配

grep -E "(my)" test.txt

2)进行后项引用前项使用: sed命令替换功能

批量创建用户 test01..test10

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

题目1

问题:批量创建用户 test01..test10,并给每个用户设置密码信息,默认初始化密码(123456)

答:

seq -w 10 | sed -r 's#(.*)#useradd test\1;echo 123456 | passwd --stdin test\1#g'|bash

echo abc{01..10} | xargs -n1 | sed -r 's#(.*)#useradd \1;echo \1| passwd --stdin \1 #g'|bash

seq命令

以指定增量从首数开始打印数字到尾数,seq命令用于产生从某个数到另外一个数之间的所有整数。

--equal-width 在列前添加0 使得宽度相同

④括号符号:{}

可以指定字符连续匹配的次数

第一种情况: x{n,m} 表示前一个字符至少连续出现n次,最多出现m次

第二种情况: x{n} 表示前一个字符正好连续出现了n次

第三种情况: x{n,} 表示前一个字符至少连续出现n次,最多出现多少次不限

第四种情况: x{,m} 表示前一个字符至少连续出现0次,最多出现m次

⑤问号符号 ?

定义匹配前一个字符出现0或者1次

总结

*匹配前一个字符出现0次或者多次

+匹配前一个字符出现1次或者多次

{} 匹配前一个字符指定出现多少次,至少0次

? 匹配前一个字符出现0次或者1次

.* 所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值