我想用单引号获得第一个模式。
$ cat test
if (response == 'good' and name == 'john')
使用此命令,我得到单引号中的最后一个模式:
$ sed -nr "s/.*'(.*)'.*/\1/p" test
john
我希望它返回
好
答案 0 :(得分:1)
以下应该做的伎俩
sed -nr "s/[^']*'([^']*)'.*/\1/p" test
答案 1 :(得分:1)
有几种方法可以实现这一目标。例如awk
:
awk -F"'" '{print $2}'
或Perl
:
perl -ne 'print "$1\n" if /'"'"'(.*?)'"'"'/;'
答案 2 :(得分:0)
使用这个概念
sed "s/^[a-z].* ([a-z].*== '\([a-z].*\)' [a-z].*== '\([a-z].*\)')$/\1/" inputfile