当前位置: 技术问答>linux和unix
变量的扩展和正则表达式用法
来源: 互联网 发布时间:2016-05-16
本文导语: 这几天学习一些基础的东西,感到很晕。有三个问题向大家请教 变量的扩展用法,像子串替换:${string//substring/replacement},子串提取:expr $string : '($substring)',子串消除:${string##substring},能不能结合正则表达式用...
这几天学习一些基础的东西,感到很晕。有三个问题向大家请教
变量的扩展用法,像子串替换:${string//substring/replacement},子串提取:expr $string : '($substring)',子串消除:${string##substring},能不能结合正则表达式用?
比如终端下执行:
能不能输出 xxx(把123替换成xxx)这样的效果?
我看到书上说子串提取可以结合正则表达式用,但它又没提怎么用,很是郁闷。
能不能说一下正则表达式在shell中用的 多不多?应该在什么场合下用?用什么方式用它?大概说说就可以了
变量的扩展用法,像子串替换:${string//substring/replacement},子串提取:expr $string : '($substring)',子串消除:${string##substring},能不能结合正则表达式用?
比如终端下执行:
a="abc123def"; echo $a;echo ${a//d+/x}
能不能输出 xxx(把123替换成xxx)这样的效果?
我看到书上说子串提取可以结合正则表达式用,但它又没提怎么用,很是郁闷。
能不能说一下正则表达式在shell中用的 多不多?应该在什么场合下用?用什么方式用它?大概说说就可以了
|
a="abc123def"; echo $a;echo ${a//[0-9]/x}
正则表达式多用于 sed,awk
|
要做文本的提取和替代,用sed和awk很容易