[i=s] 本帖最后由 henryhj 于 2009-6-18 22:13 编辑 [/i]
今天偶然碰到,总结一下,方便自己和大家。
参考链接:http://bbs.chinaunix.net/viewthread.php?tid=796668
http://topic.csdn.net/u/20070810/13/a8f23f9d-b114-453b-91b1-90daadc7bdcc.html
如图:
[attach]16415[/attach][code]value=test.pdf[/code]如图所说,[code]expr $value : '.*'[/code]结果为[code]8[/code]而[code]expr $value : '\(.*\)'[/code]结果为[code]temp.pdf[/code]真正的匹配一下,比如我们抽取文件名[code]expr $value : '\(.*\).pdf'[/code]结果为[code]
temp
[/code]当然那个点转义之后还是一样的结果哈,就是这样[code]expr $value : '\(.*\)\.pdf'[/code](这个可能就是传说中的匹配自己了[s:74])
而如果我们要抽取后缀名,这么干[code]expr $value : '.*\.\(.*\)'[/code]结果出来了[code]
pdf
[/code][b][color=#0000FF]后话:
其实真要抽取文件名的话方法还是很多的,比如[code]basename $value .pdf[/code]又或者[code]expr ${value%%.*}[/code]2. [attach]16416[/attach]
cwqing1973 于 2009-06-19 13:49:08发表:
楼主有时间,多来命令专区指导啊,你这样水平的人可难得。谢谢了。
povest 于 2009-06-19 00:01:59发表:
多谢分享