将文本文件分隔为列;

Separate Text file to columns by ;

请给我一个用空格分隔的文本文件。我想将它输出到由 ;

分隔的列

例子 输入

31561 49215 10   1196825801480000
31561 49219 12   1196825801480000
31561 48665 14   1196825806980000

我用这个代码

tr " " ";" < file

我的输出

31561;49215;10;;;1196825801480000
31561;49219;12;;;1196825801480000
31561;48665;14;;;1196825806980000

需要输出。

31561;49215;10;1196825801480000
31561;49219;12;1196825801480000
31561;48665;14;1196825806980000

感谢您的帮助。

awk -v OFS=';' '{=}1' file

= 是使用新分隔符 OFS=';' 重建 [=12=] 的技巧。

sed -r 's/ +/;/g' < file.txt

使用

    tr -s " " ";" < file 

并阅读手册:https://wiki.ubuntuusers.de/tr/

-s
Squeeze multiple occurrences of the characters listed in the last operand (either string1 or string2) in the input into a single instance of the character. This occurs after all deletion and translation is completed.