0

一重引用符で最初のパターンを取得したいと思います。

$ cat test 
if (response == 'good' and name == 'john')

このコマンドを使用すると、単一引用符で囲まれた最後のパターンを取得できます。

$ sed -nr "s/.*'(.*)'.*/\1/p" test
john

返してほしい

良い

4

3 に答える 3

1

以下はトリックを行う必要があります

sed -nr "s/[^']*'([^']*)'.*/\1/p" test
于 2012-10-01T20:19:05.453 に答える
1

これを実現するにはいくつかの方法があります。たとえばawk:

awk -F"'" '{print $2}'

またはPerl:

perl -ne 'print "$1\n" if /'"'"'(.*?)'"'"'/;'
于 2012-10-01T20:40:52.573 に答える
0

この概念を使用して

sed "s/^[a-z].* ([a-z].*== '\([a-z].*\)' [a-z].*== '\([a-z].*\)')$/\1/" inputfile
于 2012-10-02T14:49:56.443 に答える