Chinaunix首页 | 论坛 | 博客
  • 博客访问: 113177
  • 博文数量: 38
  • 博客积分: 330
  • 博客等级: 一等列兵
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-08 23:30
文章分类

全部博文(38)

文章存档

2012年(36)

2011年(2)

我的朋友

分类: LINUX

2012-02-27 17:55:40

使用单引号可以阻止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) |
0

上一篇:part5

下一篇:sed2

给主人留下些什么吧!~~