1

想要捕获一个特定的变量,在这种情况下DataIp,并打印它的值。

数据:

<UnitInstance DataIp="10.1.1.1" Hostname="crg11" ID="30">

输出:

10.1.1.1
4

1 回答 1

4

例如....

$ grep -Po '(?<=DataIp=\")[^\"]+' file
10.1.1.1

我们寻找之后的任何内容DataIp="并打印所有内容,直到找到". 请注意,双引号需要转义:\".

sed

$ sed 's/.*DataIp=\"\([^\"]*\)\".*/\1/g' file
10.1.1.1

我们捕捉到这个词DataIp然后打印它。


考虑到我们想要捕获被 包裹的第一个单词的一般情况",我们也可以这样做......

awk

$ awk -F\" '{print $2}' file
10.1.1.1

我们根据"分隔符拆分字段中的记录并打印第二个。

cut

$ cut -d'"' -f2 file
10.1.1.1

我们根据"分隔符拆分字段中的记录并打印第二个。

于 2013-07-25T09:43:47.350 回答