遵义市住房和城乡建设局官方网站,淄博网站搭建公司,网站建设中扒站为什么是违法的,企业标识图片logo目录 正则表达式
前瞻
代表字符
表示次数
位置锚定
分组或其他
grep
选项
范例
awk
前瞻
awk常见的内置变量
范例
sed
前瞻
sed格式
范例
搜索替代
格式
范例
分组后项引用
格式
范例 正则表达式
前瞻
通配符#xff1a;匹配的是文件名
正则表达式匹配的是文件名
正则表达式匹配的是文章中的字符
元字符不代表本来的含义在正则表达式中有特殊含义的字符
正则表达式的表现
代表字符表示次数位置锚定分组或其他
代表字符
. 匹配任意单个字符可以是一个汉字 [ ] 匹配指定范围内的任意单个字符 [^ ] 匹配指定范围外的任意单个字符 [:lower:] [a-z] :小写字母 [:upper:] [A-Z] :大写字母 [:alpha:] [a-zA-Z] :所有字母大小写 [:alnum:] :字母和数字 [:blank:] 空白字符空格和制表符
[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白,比[:blank:]包含的范围广 表示次数
* #匹配前面的字符任意次包括0次贪婪模式尽可能长的匹配 .* #任意长度的任意字符,不包括0次 \? #匹配其前面的字符出现0次或1次,即:可有可无 \ #匹配其前面的字符出现最少1次,即:肯定有且 1 次 \{n\} #匹配前面的字符n次 \{m,n\} #匹配前面的字符至少m次至多n次 \{,n\} #匹配前面的字符至多n次,n \{n,\} #匹配前面的字符至少n次 位置锚定
^ 行首锚定, 用于模式的最左侧
$ 行尾锚定用于模式的最右侧
^......$ #用于模式匹配整行
^$ #空行
^[[:space:]]*$ # 空白行
\ 或 \b #词首锚定用于单词模式的左侧(连续的数字字母下划线都算单词内部) \ 或 \b #词尾锚定用于单词模式的右侧 \PATTERN\ #匹配整个单词 注除了字母数字下划线其他都算单词的分隔符 分组或其他
分组( ) 将多个字符捆绑在一起当作一个整体处理 grep
选项
-m # 匹配#次后停止
grep -m 1 root /etc/passwd #多个匹配只取第一个
-v 显示不被pattern匹配到的行,即取反
grep -Ev ^[[:space:]]*#|^$ /etc/fstab
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
grep -c root /etc/passwd #统计匹配到的行数
-o 仅显示匹配到的字符串
-q 静默模式不输出任何信息
-A # after, 后#行
grep -A3 root /etc/passwd #匹配到的行后3行业显示出来
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系,如grep –e ‘cat -e ‘dog file
grep -e root -e bash /etc/passwd #包含root或者包含bash 的行
grep -E root|bash /etc/passwd
-w 匹配整个单词
grep -w root /etc/passwd
useradd rooter
-E 使用ERE相当于egrep
-F 不支持正则表达式相当于fgrep
-f file 根据模式文件处理两个文件相同内容 把第一个文件作为匹配条件
-r 递归目录但不处理软链接
-R 递归目录但处理软链接
范例 awk
前瞻
vim文本处理工具内存不足打不开超大文件把整个文件加载到内存中如果内存不够大或者文件过大就打不开文件
awk文本处理工具加载一行处理一行
格式awk 选项 表达式处理动作
表达式awk的语言的表达式
不写没有找到特定的行
处理动作
print打印printf打印
常见选项:
-F 指定分隔符-v指定变量-f脚本
awk常见的内置变量
NF当前处理的行的字段个数
NR当前处理的行的行号序数
$0当前处理的行的整行内容
$n当前处理行的第n个字段第n列
范例 sed
前瞻
Sed是从文件或管道中读取一行处理一行输出一行再读取一行再处理一行再输出一行直到最后一行。每当处理一行时把当前处理的行存储在临时缓冲区中称为模式空间PatternSpace接着用sed命令处理缓冲区中的内容处理完成后把缓冲区的内容送往屏幕。接着处理下一行这样不断重复直到文件末尾。一次处理一行的设计模式使得sed性能很高sed在读取大文件时不会出现卡顿的现象。
sed格式
sed 命令选项 自身脚本语法
常见命令选项
-n 不输出模式空间内容到屏幕即不自动打印-e 多点编辑-i 实际修改-i.abc 实际修改前先备份源文件产生以源文件名字为前缀以.abc为后缀的备份文件-r使用拓展正则表达式
注
-ir 不支持-i -r 支持-ri 支持-ni 会清空文件
常见脚本自身语法选项
p手动打印q退出d删除a在下一行追加i在前一行插入c替换
范例 搜索替代
格式
sed 选项 范围/旧字符/新字符/修饰符 路径
范例 分组后项引用
格式
sed 选项 范围/定义的分组/\留下的组/修饰符 文件路径
范例