第六章 命令执行顺序
1. &&
cmd1 && cmd2 左边的cmd1执行成功才执行cmd2
2. ||
cmd1 || cmd2 左边的cmd1执行失败才执行cmd2
3. () {}
(cmd1;cmd2;...) 在当前shell中执行一组命令。
{cmd1;cmd2;...} 在子shell中执行一组命令。
第七章 正则表达式
基本元字符集及其含义
^ 只匹配行首
$ 只匹配行尾
[] 匹配其中字符序列范围内的字符
* 匹配前面字符出现个任意次
\ 转义
. 匹配任意单字符
pattern\{n\} 匹配pattern出现次数,为n次
pattern\{n,\} 出现次数最少为n
pattern\{n,m\} 出现次数在n m 之间
第八章 grep
grep格式 grep[选项] “正则表达式” [文件]
选项
-c 输出匹配的总行数
-i 不区分大小写(只用于单字符)
-h 查询多文件时不显示文件名
-l 查询多文件时只输出包含匹配字符的文件名
-n 显示匹配行及行号
-s 没有匹配结果时不显示出错信息
-v 显示不包含匹配文本的所有行
精确匹配。 如查找48,但不要483,可以 $ grep '48\>' data
不匹配行首。 $ grep '^[^48]' data
匹配多个条件。 可以使用管道 |
空行。 '^$'
特殊字符。 如 $.'"8[]^|\+?等使用前加\转义
类名。
[[:upper:]] = [A-Z]
[[:lower:]] [a-z]
[[:digit:]] [0-9]
[[:alnum:]] [0-9a-zA-Z]
[[:space:]] 空格或tab
[[:alpha:]] [a-zA-Z]
egrep. 扩展grep
可以将一个文件作为匹配条件。需要使用-f开关。
如:$ egrep -f str data 其中str可以包含多个字符串