使用sed from命令提取IP

时间:2011-05-15 20:17:34

标签: linux sed

我有一个看起来像的字符串:

BOOT_IMAGE=/boot/vmlinuz-2.6.32-31-generic HTTP_BOOT=192.168.1.133 root=UUID=b4 ro quiet splash

在示例“/ proc / cmdline”

我想用sed提取HTTP_BOOT。我当前的sed命令看起来就是这样。

HTTP_BOOT=$(sed -r 's/^.*HTTP_BOOT=(.*?).*/\1/' /proc/cmdline)

var HTTP_BOOT应包含192.168.1.133。 如果有人能纠正我的sed,那真的很开心。

由于

3 个答案:

答案 0 :(得分:1)

试试这个:

HTTP_BOOT=$(sed 's/.*HTTP_BOOT=\([^ ]*\) .*/\1/' < /proc/cmdline)

答案 1 :(得分:0)

你快到了。试试这个sed:

sed -r 's/^.*HTTP_BOOT=([^\ ]*).*$/\1/'

答案 2 :(得分:0)

HTTP_BOOT=$(egrep -o 'HTTP_BOOT=[1-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' /proc/cmdline | cut -d '=' -f 2)

对IP

进行一次不错的小小理智检查