Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
grep regex如何删除单引号_Regex_Linux_Grep_Lvm - Fatal编程技术网

grep regex如何删除单引号

grep regex如何删除单引号,regex,linux,grep,lvm,Regex,Linux,Grep,Lvm,我想从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
的输出中获取带引号的字符串,它是:

  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“(?也可以使用
grep-oP”'\K[^']+(?='))“
很明显,我没有使用Perl,我明天会检查它。非常感谢,vks,这行代码对我很有用,我并不在乎它是否是Perl正则表达式。不过,一个有趣的问题仍然存在,是否有一个基本正则表达式解决方案?@Taowan Basic正则表达式可以像
”([^']*)一样使用)“
然后抓取组1,但我没有在grep中使用过,所以我不确定我要删除引号的原因是我想将输出打印到一个变量以供以后使用。坚持尝试是为了学习,再次感谢。最后一行应该是:任何评论都将不胜感激。谢谢。非常感谢,这一行与我们一样有效LH.我想你的建议会容易些。但是vks的答案是第一位的,所以我必须接受vks。你在哪里看到这样的规则的?:-)