include 单个 除了 spa -a 结束 alt 创建 存在
六周第一次课(1 月 15 日)
9.1 正则介绍_grep 上
1. 作用
Linux 系统中 grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep 全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户.
2. 格式
grep [options]
3. 主要参数
[options] 主要参数:
-c:只输出匹配行的计数.
-I:不区分大 小写 (只适用于单字符).
-h:查询多文件时不显示文件名.
-l:查询多文件时只输出包含匹配字符的文件名.
-n:显示匹配行及 行号.
-s:不显示不存在或无匹配文本的错误信息.
-v:显示不包含匹配文本的所有行.
pattern 正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义.
^:匹配正则表达式的开始行.
$: 匹配正则表达式的结束行.
\<:从匹配正则表达 式的行开始.
\>:到匹配正则表达式的行结束.
[]:单个字符,如 [A] 即 A 符合要求 .
[-]:范围,如 [A-Z],即 A,B,C 一直到 Z 都符合要求 .
.:所有的单个字符.
* :有字符,长度可以为 0.
演示
创建目录,copy 文件
grep "" *
grep -c 行数
grep -n 行号
grep -i 不区分大小写
grep -v 取反,指不带某字符的行数
grep -r 子目录或者孙目录所有下面的文件全部遍历一遍
grep -A2 除了把包含关键词的这行列出来,还会把这一行下面 2 行列出来
grep -B2 以上 2 行
grep -C 上下 2 行
9.2 grep 中
grep "[0-9]" 包含 0-9
grep -v "[0-9]" 不包含 0-9
grep -n "^#" 以 #开头的行
grep -nv "^#" 不以 #开头的行
grep "[^0-9]" 非 0-9,其他字符标识,^ 放在括号里头取非,放外头取开头
grep "^[^0-9]" 查询列出以非 0-9 开头的行数
9.3 grep 下
grep "r.o" . 代表任意的一个字符
grep "o*o" * 表示左边的字符重复 0-n 次,结尾是 o
grep ".*" 任意字符
grep "aming.*bash"
grep "o\{2\}" 表示 o 出现 2 次 \ 脱义
grep "o{0,3\}" o 出现 0-3 次
egrep =grep -E 扩展的 grep 能识别,不用脱义
oo 括起来表示 1 个整体
egrep "o+o" + 表示前面字符的 1 次或多次,* 是 0 次或多次,后面是 o
grep "o?l" ? 表示前面的字符重复 0 或 1 次
egrep "root|nologin" | 或者
扩展
把一个目录下,过滤所有 *.php 文档中含有 eval 的行
grep -r --include="*.php" 'eval' /data/
六周第一次课(1 月 15 日)
来源: http://www.bubuko.com/infodetail-2462975.html