我想从Unix shell脚本(bash或ksh)中的IP地址转义点,以便我可以匹配grep命令中的确切地址.
echo $ip_addr | sed "s/\./\\\./g"
Run Code Online (Sandbox Code Playgroud)
工作(输出1\.2\.3\.4),但是
ip_addr_escaped=`echo $ip_addr | sed "s/\./\\\./g"`
echo $ip_addr_escaped
Run Code Online (Sandbox Code Playgroud)
不(产出1.2.3.4)
我怎样才能正确地逃避地址?
编辑: 看起来像
ip_addr_escaped=`echo $ip_addr | sed "s/\./\\\\\\\./g"`
Run Code Online (Sandbox Code Playgroud)
工作,但这显然是可怕的!
bash参数扩展支持模式替换,它看起来(略微)更清晰,不需要调用sed:
echo ${ip_addr//./\\.}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6806 次 |
| 最近记录: |