如何从字符串中的单引号中提取值?

时间:2017-01-05 14:57:33

标签: bash grep cut

我正在尝试从字符串中获取value

define('__mypassword', 'value');

我正在尝试使用cutgrep

grep "__mypassword'" myfile.php | cut -d ',' -f 2

这会返回'value');

我不需要引号或大括号或半列。如何在不使用多个cut语句的情况下取出值?

3 个答案:

答案 0 :(得分:4)

Juse使用awk

$ awk -F"'" '/__mypassword/{print $4}' <<< "define('__mypassword', 'value');"
value

这会将字段分隔符设置为单引号。这样,只需要打印第4个元素,即第3个引用之后的元素。 /__mypassword/充当grep "__mypassword"

如果您还需要匹配单引号,请使用/__mypassword'\''/(有点挑剔,您需要关闭awk语句以包含单引号。

答案 1 :(得分:3)

不计算逗号,计算单引号:

{{1}}

答案 2 :(得分:0)

kent$  grep -oP "[^']+(?='\))" <<<"define('__mypassword', 'value');"
value