将列之间的空格转换为制表符

将列之间的空格转换为制表符

我有一个包含数千行的文件,我需要将列之间的所有空格转换为制表符。该文件在 python 脚本内读取,如果列不是制表符分隔,则该脚本将失败。

答案1

要将文件中所有出现的两个或多个空格替换为制表符,使用 GNUsed或兼容版本,请使用:

sed 's/   */\t/g' file > newfile

要更改所有空格,甚至是单个空格(假设字段中永远不能有空格),请使用以下命令:

sed 's/ /\t/g' file > newfile

并且,要就地编辑文件并避免创建新文件,您可以使用-i

sed -i 's/   */\t/g' file 

答案2

使用 Raku(以前称为 Perl6)

~$ raku -pe 's:g/ \s+ /\t/;' file.txt > newfile.txt

HTH。

https://raku.org/

相关内容