~/ cat data.txt
local_addr = sjcapp [value2]
other_addr = superman [value1492]
euro_addr = overseas [value0]
如果数据真的像那样有规律的结构,那么你可以在空白处分割。在命令行(参见perlrun(1)
手册页)上,这是最简单的“自动拆分”( ),它神奇地创建了一个从输入-a
调用的字段数组:@F
perl -lane 'print "$F[2] $F[3]" ' data.txt
sjcapp [value2]
superman [value1492]
overseas [value0]
在您的脚本中,您可以通过shift
-ing 或splice
-ing 更改数组的名称以及元素在其中的位置 - 可能以比这更优雅的方式 - 但它有效:
perl -lane 'my @array = ($F[2],$F[3]) ; print "$array[0], $array[1]" ' data.txt
或者,不使用自动拆分,如下所示:
perl -lne 'my @arr=split(" ");splice(@arr,0,2); print "$arr[0] $arr[1]"' data.txt