前言:正则表达式
正则表达式:
1.基本正则表达式
^ $ +
3.扩展正则表达式
? {4,6} |^ 代表以什么开头 ^root
$ 代表以什么结尾 /$
+ 代表前面的字符可以出现1次或者N次 a+ -->a aa aaa aaaaaaaaaaaa
| 代表或
? 代表前面的字符可以出现0或者1次 a? -->a
* 代表前面的字符可以出现0次或者N次
一.grep/egrep的语法及使用(查找(文本过滤))
[root@web1 lianxi]# df -Th|grep "/$"|awk '{print $6}'
41%
[root@web1 lianxi]# df -Th|grep "/$"|awk '{print $((NF-1))}'
41%
[root@web1 lianxi]# df -Th|grep "/$"|awk '{print $((NF-1))}'|tr -d "%"
41
[root@web1 lianxi]# num=$(df -Th|grep "/$"|awk '{print $((NF-1))}'|tr -d "%")
[root@web1 lianxi]# echo $num
41
二.awk的语法及使用(截取)
语法:
$0 --> 表示整行文本
$1 --> 表示文本的第一个数据字段
-F --> 指定分隔符 (默认的字段分隔符是空白字符)
参数:
NR
NF -->
OPS
FS
awk -F: 'BEGIN{num=0}$1 ~ /^r/{num++;print $1}END{print num}' /etc/passwd
substr(s, i [, n]) Return the at most n-character substring of s starting at i. If n is
omitted, use the rest of s.
s是我们的字符串
i是从第i个字符开始
n表示截取的字符串的长度
substr($1,1,4) 从第1个字符开始,连续截取4个字符substr($1,3,5) 从第3个字符开始,连续截取5个字符
三.sed的语法及使用(替换)
sed - stream editor for filtering and transforming text
stream editor 流编辑器--》文字流 --》sed1.文本的过滤查找 text filtering
2.文本的转换/替换 transforming text
[root@docker lianxi]# sed -n '/longyi/ p' hehaotian.txt
-n 不符合要求的行,不要显示出现
-n, --quiet, --silentsuppress automatic printing of pattern space
pattern space 模式空间
hold space 保留空间p 是sed内部的命令 输出内容到屏幕 print
[root@docker lianxi]# sed -i 's/pan/zhang/' hehaotian.txt
-i 直接在原文件里进行修改
-i[SUFFIX], --in-place[=SUFFIX] 给原文件先进行备份,备份的文件名后面加一个后缀名edit files in place (makes backup if SUFFIX supplied)
加后缀名.bak
[root@docker lianxi]# sed -i.bak 's/cao/liu/' hehaotian.txts/pan/zhang/ 使用zhang去替换pan s是替换命令 substitute
c 整行替换
selinux文件
s 局部替换
修改ip地址
加注释
& 代表前面查找匹配的内容 代表旧的字符串
's/luqianjun/&sanchuang/g'