我有一个类似setSuperValue('sdfsdfd')的字符串,我需要从这一行得到'sdfsdfd'值。怎么做?
首先我通过setSuperValue找到行,然后只得到目标内容的字符串-setSuperValue('sdfsdfd')。如何构建regexp以从此行获取sdfsdfd

最佳答案

这应该对你有帮助

grep setSuperValue myfile.txt | grep -o "'. *'"  | tr -d "'"

grep -o将返回以一个“开始”和另一个“结束”的所有文本,包括两个引号。然后使用tr去掉引号。
您也可以使用cut
 grep setSuperValue myfile.txt | cut -d"'" -f2

awk
 grep setSuperValue myfile.txt | awk -F "'" '{print $2}'

这将拆分单引号所在的行并返回第二个值,这就是您要查找的值。

关于linux - Bash正则表达式查找字符串的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33153441/

10-09 13:27