我正在尝试从字符串中获取value
:
define('__mypassword', 'value');
我正在尝试使用cut
和grep
。
grep "__mypassword'" myfile.php | cut -d ',' -f 2
这会返回'value');
我不需要引号或大括号或半列。如何在不使用多个cut
语句的情况下取出值?
答案 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