~/ cat data.txt
local_addr = sjcapp [value2]
other_addr = superman [value1492]
euro_addr = overseas [value0]
データが実際にそれと同じくらい規則的に構造化されている場合は、空白で分割できます。コマンド ライン (マニュアル ページを参照) では、入力から呼び出されるフィールドの配列を魔法のように作成するperlrun(1)
"autosplit" ( ) を使用するのが最も簡単です。-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