例如,我的条目中有 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
但我不知道如何分割两到两个字符/列。我的真实数据有数十万列。
答案1
删除所有其他空格:
perl -pe 's/ (\S+) / $1/g'
\S
代表“非空白”。
答案2
和awk
:
awk '{ print $1, $2 $3, $4 $5, $6 $7, $8 $9 }' /path/to/input