删除列之间的许多空 space 并仅在列之间创建一个白色-space

delete many empty spaces between columns and make only one-white-space between columns

我有一个超过 2500 列的文件。每列用制表符或几个白色分隔 space.

文件中的数据格式如下:

1    1    0
1    1    0
0    1    0
1    0    1
1    0    0
1    1    1
1    0    1

我想删除标签或列之间的许多空白色-space,只在列之间制作一个白色-space,如下所示。

1 1 0
1 1 0
0 1 0
1 0 1
1 0 0
1 1 1
1 0 1

如何删除空的 spaces ?

应该这样做:

awk '{=}1' file
1 1 0
1 1 0
0 1 0
1 0 1
1 0 0
1 1 1
1 0 1

通过设置 = 它会清除所有空格和制表符。 1就是打印出来

使用 sed:

sed 's/[[:space:]]\+/ /g' filename

或者使用 tr:

tr -s '[:blank:]' ' ' filename