首页 > 解决方案 > 用文本文件中的制表符替换单个空格的命令

问题描述

所以我有一个文本文件,问题是空格和制表符都用于分隔列值,由于不一致,这给我带来了很多问题。例如:

ID Name    Class Time
1 Johnson  5-D 6pm
         .
         .
         .

正如您在示例中看到的那样,ID 和 Name 都由单个空格分隔,Name 和 Class 则由制表符分隔。

我如何编写一个 sed 命令来用制表符替换文本文件中的所有单个空格?我希望生成一个新的文本文件,如下所示:

ID      Name      Class     Time
1       Johnson   5-D        6pm

此时对齐并不重要,我只想用制表符替换单个空格。

编辑:也欢迎 awk 脚本

标签: regexlinuxawksed

解决方案


tr

 tr ' ' '\t' <inputfile >outputfile

这会将每个空格字符替换为制表符。

如果您需要这个,您还可以使用一个选项卡替换一系列多个空格

 tr -s ' ' '\t' <inputfile >outputfile

推荐阅读