使用单引号可以阻止shell解释编辑指令中的特殊字符或空格(shell使用空格决定提交给程序独立参数,特殊的shell字符在调用之前被展开)
3种方式指定命令行的的多重指令
#1.使用分号
sed 's/A/B/;s/C/D/' file
#2.使用-e选项
sed -e 's/A/B/' -e 's/A/B/'
#3.使用Bourne shell的分行指令
$ sed '
> s/A/B/
> s/C/D/
> ' file
awk多重指令使用分号;隔开
使用大括号{}将过程括起来
表1:元字符汇总
特殊字符 用途
. 匹配除换行符以外的任意单个字符。
在awk中,句点也能匹配换行符。
* 匹配任意一个(包括零个)在它前面的字符(包括正则表达式指定的字符)。
[...] 匹配方括号的字符类中的任意一个。
如果方括号中的第一个字符为脱字符(^),则表示否定匹配,即匹配除了换行符
和中括号中列出的那些字符以外的所有字符。
在awk中,也能匹配换行符。
连字符(-)用于表示字符的范围。如果中括号中的第一个字符为右方括号(])则
表示它是类的成员。所有其他的元字符在被指定为中括号中的成员时都会失去
它们原来的含义。
^ 如果作为正则表达式的第一个字符,则表示匹配行的开始。
在awk中匹配字符串的开始,即使字符串包含嵌入的换行符。
$ 如果作为正则表达式的第一个字符,则表示匹配行的结尾。
在awk中匹配字符串的结尾,即使字符串包含嵌入的换行符。
\{n,m\} 匹配它前面某个范围内单个字符出现的次数(包括正则表达式指定的字符)。
\{n\}将匹配n次,\{n,\}至少匹配n次出现,\{n,m\}匹配n和m之间的任意次出现。
\ 转义特殊字符
扩展的元字符(egrep和awk)
+ 匹配前面的正则表达式一次或多次出现
? 匹配前面的正则表达式零次或者一次出现
| 指定可以匹配其前面的或后面的正则表达式(替代方案)
() 对正则表达式分组
{n,m} 匹配它前面某个范围内单个字符出现的次数
#匹配空行
^$
#计算空行
grep -c '^$' file
#即使包含空格的空行
^ *$
#匹配整个行
^.*$
圆括号()用于对正则表达式进行分组并设置优先级。
阅读(1326) | 评论(0) | 转发(0) |