如何从字符串中提取单引号内的值?
How to extract a value within single quotes from a string?
我正在尝试从字符串中获取 value
:
define('__mypassword', 'value');
我正在尝试为此使用 cut
和 grep
。
grep "__mypassword'" myfile.php | cut -d ',' -f 2
这个returns'value');
我不需要引号或大括号或分栏。如何在不使用多个 cut
语句的情况下取出值?
请使用 awk
!
$ awk -F"'" '/__mypassword/{print }' <<< "define('__mypassword', 'value');"
value
这会将字段分隔符设置为单引号。这样,只需要打印第 4 个元素,即第 3 个引号之后的元素。 /__mypassword/
充当 grep "__mypassword"
.
如果你还需要匹配单引号,使用/__mypassword'\''/
(有点挑剔,你需要关闭awk
语句以包含单引号)。
不计算逗号,计算单引号:
grep "__mypassword'" myfile.php | cut -d"'" -f4
kent$ grep -oP "[^']+(?='\))" <<<"define('__mypassword', 'value');"
value
我正在尝试从字符串中获取 value
:
define('__mypassword', 'value');
我正在尝试为此使用 cut
和 grep
。
grep "__mypassword'" myfile.php | cut -d ',' -f 2
这个returns'value');
我不需要引号或大括号或分栏。如何在不使用多个 cut
语句的情况下取出值?
请使用 awk
!
$ awk -F"'" '/__mypassword/{print }' <<< "define('__mypassword', 'value');"
value
这会将字段分隔符设置为单引号。这样,只需要打印第 4 个元素,即第 3 个引号之后的元素。 /__mypassword/
充当 grep "__mypassword"
.
如果你还需要匹配单引号,使用/__mypassword'\''/
(有点挑剔,你需要关闭awk
语句以包含单引号)。
不计算逗号,计算单引号:
grep "__mypassword'" myfile.php | cut -d"'" -f4
kent$ grep -oP "[^']+(?='\))" <<<"define('__mypassword', 'value');"
value