gpt4 book ai didi

bash - 在 bash 变量中转义点

转载 作者:行者123 更新时间:2023-11-29 09:16:38 26 4
gpt4 key购买 nike

我想在 Unix shell 脚本(bash 或 ksh)中转义 IP 地址中的点,以便我可以在 grep 命令中匹配准确的地址。

echo $ip_addr | sed "s/\./\\\./g"

有效(输出 1\.2\.3\.4),但是

ip_addr_escaped=`echo $ip_addr | sed "s/\./\\\./g"`
echo $ip_addr_escaped

不会(输出 1.2.3.4)

如何正确转义地址?

编辑:看起来像

ip_addr_escaped=`echo $ip_addr | sed "s/\./\\\\\\\./g"`

有效,但这显然很糟糕!

最佳答案

bash 参数扩展支持模式替换,这看起来(稍微)更干净并且不需要调用 sed:

echo ${ip_addr//./\\.}

关于bash - 在 bash 变量中转义点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15004948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com