1

我想从输出中获取带引号的字符串lvscan

  ACTIVE            '/dev/mysys/root' [297.46 GiB] inherit

我所做的是使用下面的代码:

lvscan | grep -o "[^']\+\b'"

我得到的是:

/dev/mysys/root'

如果我删除最后一个单引号,我得到三行:

ACTIVE
/dev/mysys/root
[297.46 GiB] inherit

我也试过:

lvscan | grep -o "[@(^'\+.*)].*\>'"
lvscan | grep -o "[^']\+\>'"

我在这里错过了什么?

任何意见将不胜感激。谢谢你。

4

2 回答 2

2

您可以使用cut代替grep

lvscan | cut -f2 -d\'
于 2016-10-25T23:05:02.393 回答
1

如果你有-Pgrep可以使用

lvscan | grep -oP "(?<=')[^']+(?=')"

于 2016-10-25T23:14:55.373 回答