grep命令
# 选项
-Ax 显示行数 # 显示匹配到的后几行-Bx 显示行数 # 显示匹配到的前几行-Cx 显示行数 # 显示匹配到前后几行-i # 忽略大小写-q # 静默输出-n # 显示行号-o # 只输出文件中匹配到的部分-v # 显示除了匹配之外的所有行-c # 输出匹配字符串中的行数-r # 递归的进行搜索,显示文件名和文件内容-l # 列出包含匹配字段的文件即可,不需要输出文本内容-E # 使用正则表达式 与egrep命令一样# 元字符^ # 以什么开头的行,匹配 ^root 匹配以root开头的行$ # 以什么结尾的行,root$ 匹配以root结尾的行. # 匹配一个任意的字符 gr.p 匹配gr后面的任意字符字符* # 匹配0个或者多个字符连接前面字符 r* 匹配0个r或者多个r字符.* # 匹配任意字符 gr.* 匹配gr后面的任意字符或者0个字符[abc] # 匹配abc中的任意一个字符[^abc] # 不匹配abc中的任意一个字符[a-z] # 匹配a-z里面的字符\< # 匹配以这个字开头的字,这个是一个单词字符,左边是一个非单词字符,右边是一个单词字符,\> # 匹配以这个字结尾的字 左边是单词字符,右边是非单词字符\ # 取消后面单个字符的特殊含义# 扩展正则+ # 对前面一项匹配1次或者多次? # 对前面一项匹配0次或者1次{j} # 对前面一项最多匹配j次{,j} # 对前面一项最多匹配j次{j,} # 对前面一项最少匹配j次{j,k} # 最少匹配j次,最多匹配k次a|b # 可以匹配a或者b(exp) # 将这个exp作为一个整体来匹配
# 递归的搜索 显示文件内容包含root的文件名
[root@master ~]# grep -rl root /etc/passwd
/etc/passwd# 显示不包含root的所有行
[root@master ~]# egrep -v root /etc/passwd# 匹配root忽略大小写
[root@master ~]# grep -i root /etc/passwd# 匹配root这个字开头的
[root@master ~]# grep "\<root" passwd
root:x:0:0:root:/root:/bin/bash# 匹配root这个字结尾的
[root@master ~]# grep "ot\>" passwd
root:x:0:0:root:/root:/bin/bash# 匹配root这个字
[root@master ~]# grep "\<root\>" passwd
root:x:0:0:root:/root:/bin/bash# 匹配r后面的所有字符,.是匹配r后面的任意字符,*就是匹配r后面的所有字符了
[root@master ~]# grep "r.*" passwd
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin# 多次匹配r或者0次r的也匹配到
[root@master ~]# grep r* passwd
root:x:0:0:root:/root:/bin/bash# 匹配ip地址ifconfig | egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | egrep -v '^255|255$'
sed命令
- 主要就是对于这个文本文件进行修改
awk命令
·