Chinaunix首页 | 论坛 | 博客
  • 博客访问: 317229
  • 博文数量: 122
  • 博客积分: 1395
  • 博客等级: 中尉
  • 技术积分: 1340
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-03 20:40
个人简介

智者,既能奋发不休,又能尽人事,顺天命

文章分类

全部博文(122)

文章存档

2014年(39)

2013年(46)

2012年(12)

2011年(3)

2010年(20)

2009年(2)

我的朋友

分类:

2010-03-11 15:10:44

ABS中Example 9-10中有这么一行:

if [[ "$len" -lt "$MINLEN" && "$line" =~ \[*\.\] ]]


其中“=~”是正则表达式的匹配符,经反复实验,“\[*\.\]”对应正则表达式“[*.]”,即是个字符组表达式,反斜线用来转义。

经测试在“[[]]”中直接使用“[]”没什么问题,即:

[[ $var =~ [*.] ]]


一样OK。

从这个角度来看, Example A-24中

if [[ "$line" =~ "\[*jpg\]" ]] # Is a graphic?
      then # Strip away brackets.
        temp=$( echo "$line" | sed -e 's/\[//' -e 's/\]//' )
        line=""$CENTER" \"$IMGDIR"/$temp\"> "$END_CENTER" "
                                      # Add image tag.
                                      # And, center it.
 
fi

sed的替换是多余的,不过没有验证它。


阅读(781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~