使用sed提取部分字符串

时间:2017-03-10 17:47:27

标签: shell sed

我想从字符串中显示ip地址,但是我发现的代码是以其他方式执行它,只是删除了ip地址。

sed -n 's/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/ /gp' <<< 'https://192.168.1.1/folder'

2 个答案:

答案 0 :(得分:1)

您的命令用空格替换所有ips。

您可以使用反向引用捕获并输出您的IP:

sed -n 's/.*\(\(\b[0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)\b.*/\1/p' <<< 'https://192.168.1.1/folder'

答案 1 :(得分:0)

sed 's/.*\/\(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\).*/\1/' <<< 'https://192.168.1.1/folder'