无法理解ruby中“-F <pat>”开关的实际使用</pat>

时间:2013-02-14 21:48:03

标签: ruby ruby-1.9.3

来自doc:的

-Fpattern split() pattern for autosplit (-a)

@ubuntu:~$ ruby -an -F -e 'puts $_;puts $_.split; puts $F[3] if /^a/'
a fdrvo hhl vgtl bbnn                             
a fdrvo hhl vgtl bbnn
a
fdrvo
hhl
vgtl
bbnn
vgtl

@ubuntu:~$ ruby -an -e 'puts $_;puts $_.split; puts $F[3] if /^a/'
aaas kgkb hv njjj jlh
aaas kgkb hv njjj jlh
aaas
kgkb
hv
njjj
jlh
njjj

由于两个代码的输出相同,因此无法理解ruby中-F<pat>的实际用法。谁能在这帮助我?

由于

1 个答案:

答案 0 :(得分:1)

试试这个:

@ubuntu:~$ ruby -a -n -Fp -e 'puts $_;puts $F[3]'
apf drvoph hlpvg tlpbbpnn
apf drvoph hlpvg tlpbbpnn
vg tl

@ubuntu:~$ ruby -a -n -e 'puts $_;puts $F[3]'
apf drvoph hlpvg tlpbbpnn
apf drvoph hlpvg tlpbbpnn
tlpbbpnn

-F之后的模式(本例中为'p')用作分隔符而不是空格。