grep正则表达式如何删除单引号
grep regex how to remove single quote
我想从 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 "[^']\+\>'"
我在这里错过了什么?
如有任何意见,我们将不胜感激。谢谢。
您可以使用 cut
而不是 grep
:
lvscan | cut -f2 -d\'
如果你有 -P
和 grep
你可以使用
lvscan | grep -oP "(?<=')[^']+(?=')"
我想从 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 "[^']\+\>'"
我在这里错过了什么?
如有任何意见,我们将不胜感激。谢谢。
您可以使用 cut
而不是 grep
:
lvscan | cut -f2 -d\'
如果你有 -P
和 grep
你可以使用
lvscan | grep -oP "(?<=')[^']+(?=')"