Juste quelques façons d'utiliser GNU awk pour :
multi-char RS
y RT
:
$ echo 'See [ "you" later' |
awk -v RS='"[^"]*"' 'RT{ print substr(RT,2,length(RT)-2) }'
you
le 3ème arg à match()
:
$ echo 'See [ "you" later' |
awk 'match($0,/"([^"]*)"/,a){ print a[1] }'
you
gensub()
(en supposant que la chaîne citée est toujours présente) :
$ echo 'See [ "you" later' |
awk '{print gensub(/.*"([^"]*)".*/,"\\1",1)}'
you
FPAT
:
$ echo 'See [ "you" later' |
awk -v FPAT='[^"]*' 'NF>2{print $2}'
you
$ echo 'See [ "you" later' |
awk -v FPAT='"[^"]*"' 'NF{print substr($1,2,length($1)-2)}'
you
patsplit():
$ echo 'See [ "you" later' |
awk 'patsplit($0,f,/"[^"]*"/,s){print substr(f[1],2,length(f[1])-2)}'
you
le 4e arg à split()
:
$ echo 'See [ "you" later' |
awk 'split($0,f,/"[^"]*"/,s)>1{print substr(s[1],2,length(s[1])-2)}'
you