如何用regex(bash)赋值变量?

时间:2012-03-14 06:01:06

标签: bash

我想在bash的变量赋值行中使用正则表达式

e.g。

oldip="14\.130\.31\.172"
oldip_a="14.130.31.172" //How to use regex on this line.

如何使用正则表达式来解决$ oldip中的所有'\'?然后将新值分配给$ oldip_a。

你有什么想法吗?

2 个答案:

答案 0 :(得分:4)

我相信你想使用这样的字符串替换:

    oldip_a=${oldip//\\/}

或类似的东西......当然总有一些战斗逃避反斜杠!

一个更明显的例子:

    some_variable=${some_other_variable//replaceEachOfThese/withThis}

在此页面上搜索“替换所有匹配项”:

http://tldp.org/LDP/abs/html/string-manipulation.html

答案 1 :(得分:2)

以下是您可以这样做的方法:

oldip="14\.130\.31\.172"
oldip_a=`echo $oldip | sed 's/[\]//g'`
echo $oldip_a

<强>输出

14.130.31.172
相关问题