如何在bash中使用正则表达式给变量赋值?

3
我希望你能帮我在 Bash 变量赋值的行中使用正则表达式。
例如:
oldip="14\.130\.31\.172"
oldip_a="14.130.31.172" //How to use regex on this line.

如何使用正则表达式从$oldip中删除所有的'\'? 然后将新值分配给$oldip_a。
你有什么想法吗?
2个回答

4
我相信你想使用字符串替换,像这样:

    oldip_a=${oldip//\\/}

或者类似这样……当然,总会有一些斗争逃离反斜杠的情况!

更明显的例子:

    some_variable=${some_other_variable//replaceEachOfThese/withThis}

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

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

我认为您有一个打字错误(末尾多了 /)- 应该是 oldip_a=${oldip//\\/} - torrential coding
这就是为什么我加入了“类似于这样”的东西...谢谢! - jahroy
没问题。我本来想给你的回答点赞的,但是我已经用完了每日的投票次数! - torrential coding

3
以下是如何完成该操作的步骤:
oldip="14\.130\.31\.172"
oldip_a=`echo $oldip | sed 's/[\]//g'`
echo $oldip_a

输出

14.130.31.172

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接