Shell 使用sed提取字符串的一部分

Shell 使用sed提取字符串的一部分,shell,sed,Shell,Sed,我想从字符串中显示ip地址,但我发现的代码正在以其他方式显示,只是删除了ip地址 sed -n 's/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}/ /gp' <<< 'https://192.168.1.1/folder' 您的命令将所有IP替换为一个空格 您可以使用反向引用捕获和输出ip: sed -n 's/.*\(\(\b[0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}\)\b.*/\1/p' <<< 'h

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

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

您的命令将所有IP替换为一个空格

您可以使用反向引用捕获和输出ip:

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