
たとえば、アイテムに10個の列があり、出力に5個の列があるとします。より具体的には、列1を列2と、列3を列4、列5を列6と組み合わせたいと思います。
私の入力は次のとおりです。
ID01 1 2 0 1 2 0 1 0
ID02 1 0 1 0 1 0 1 0
ID03 2 1 0 2 1 0 2 1
ID04 5 0 5 0 5 2 1 2
私の入力は次のとおりです。
ID01 12 01 20 10
ID02 10 10 10 10
ID03 21 02 10 21
ID04 50 50 52 12
そのために、私は以下を試しました。
perl -alne 'print join "", $F[0], split(" ", $F[1])' data
しかし、2つの文字/列を分割する方法がわかりません。私の実際のデータには数十万の列があります。
答え1
他のすべてのスペースを削除します。
perl -pe 's/ (\S+) / $1/g'
\S
「空白ではない」を意味します。
答え2
そしてawk
:
awk '{ print $1, $2 $3, $4 $5, $6 $7, $8 $9 }' /path/to/input