1.grep中的位置锚定,用于指定字符出现的位置
^ 锚定行首,^char
$ 锚定行尾,char$
^$ 空白行
\<
char
锚定词首=\bchar
char\> 锚定词尾=char\b
grep分组
\( \ )
\(ab\)*xy 表示ab出现任意次,包括0次
grep引用
\1 后向引用,引用前面的第一个左括号以及与之对应的右括号中的模式所匹配的内容。
\2
...
\(a.b\)xy\1 eg: abbxyabb
2.grep常用选项
-v:显示不能被模式匹配到的行
-o:仅显示被模式匹配到的字符串而非整形
-i:不区分大小写
-E:支持扩展的正则表达式
-A:
-B:
-C:
3.egrep 相当于grep -E
使用扩展正则表达式来构建模式相当于grep -E
. 任意单个字符
[ ] 指定范围内任意单个字符
[^] 指定范围外任意单个字符
匹配次数
*
?
+:匹配前面字符至少一次
{m} 匹配前面字符m次
{m,n} 匹配前面字符至少m次,至多n次
{m,} 匹配前面字符至少m次
{0,n} 匹配前面字符至多n次
egrep中位置锚定
^ 行首
$ 行尾
\< = \b 锚定词首
\> = \b 锚定词尾
egrep分组
() 分组
| 或者
4.fgrep : fast 不解析正则表达式
5.bash编程条件判断
条件判断的常用判断类型
整数测试
文件测试
字符测试
$?
0 表示测试正确
1-255 表示错误
布尔值 (真、假)
逻辑运算
与
或
非
6.bash测试
test EXPRESSION
[EXPRESSION]
[[EXPRESSTION]]
7.bash中条件判断使用if
单分支
if 条件; then
分支1 ;
fi
双分支
if 条件; then
分支1 ;
else
分支2 ;
fi
多分支
if 条件; then
分支1 ;
elif
分支2 ;
elif
分支3 ;
...
else
分支n ;
fi