变量的扩展和正则表达式用法

sh/bash/dash/ksh/zsh等Shell脚本
回复
Dic4000
帖子: 104
注册时间: 2008-09-10 21:06
送出感谢: 0
接收感谢: 0

变量的扩展和正则表达式用法

#1

帖子 Dic4000 » 2009-01-19 22:19

这几天学习一些基础的东西,感到很晕。有三个问题向大家请教
变量的扩展用法,像子串替换:${string//substring/replacement},子串提取:expr $string : '\($substring\)',子串消除:${string##substring},能不 能结合正则表达式用?
比如终端下执行:

代码: 全选

 a="abc123def"; echo $a;echo ${a//\d+/x}
能不能输出 xxx这样的效果(把123替换成xxx)?

我看到书上说子串提取可以结合正则表达式用,但它又没提怎么用,很是郁闷。
能不能说一下正则表达式在shell中用的 多不多?应该在什么场合下用?用什么方式用它?大概说说就可以了
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: 变量的扩展和正则表达式用法

#2

帖子 eexpress » 2009-01-19 22:29

echo ${a//[0-9]/h}
● 鸣学
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
送出感谢: 0
接收感谢: 0
联系:

Re: 变量的扩展和正则表达式用法

#3

帖子 lerosua » 2009-01-19 22:57

正则啊,太乱了 :em20
头像
bones7456
论坛版主
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
送出感谢: 0
接收感谢: 8 次
联系:

Re: 变量的扩展和正则表达式用法

#4

帖子 bones7456 » 2009-01-19 23:00

如ee所说
关注我的blog: ε==3
Dic4000
帖子: 104
注册时间: 2008-09-10 21:06
送出感谢: 0
接收感谢: 0

Re: 变量的扩展和正则表达式用法

#5

帖子 Dic4000 » 2009-01-20 0:04

\d为什么不能用?还有其它的正则标准元字符\s \w \b ? * +能不能用?
回复

回到 “Shell脚本”