我有一个用空格分隔的文本文件。我想将它输出到由;
分隔的列示例 输入
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
感谢您的帮助。
答案 0 :(得分:4)
awk -v OFS=';' '{$1=$1}1' file
$1=$1
是使用新分隔符$0
重建OFS=';'
的技巧。
答案 1 :(得分:4)
sed -r 's/ +/;/g' < file.txt
答案 2 :(得分:2)
使用
tr -s " " ";" < file
阅读手册:https://wiki.ubuntuusers.de/tr/
-s
将输入中最后一个操作数(string1或string2)中列出的多次出现的字符挤压到该字符的单个实例中。所有删除和翻译完成后都会发生这种情况。