regex - 在文本文件中用制表符替换单个空格的命令

标签 regex linux awk sed

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

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

正如您在示例中看到的,ID 和名称均以单个空格分隔,而名称和类则以制表符分隔。

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

ID      Name      Class     Time
1       Johnson   5-D        6pm

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

编辑:awk 脚本也受到欢迎

最佳答案

tr:

 tr ' ' '\t' <inputfile >outputfile

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

如果您需要这个,您还可以使用一个制表符替换一系列多个空格

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

关于regex - 在文本文件中用制表符替换单个空格的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60128181/

相关文章:

linux - 使用 Bash 从日志文件的每一行中提取 IP 地址

javascript - 忽略 Javascript 正则表达式中的换行符

php - 完整实体进程无法应用进程槽

linux - 当该窗口已经具有焦点时,如何使该窗口移动到 Gnome 中其他窗口的顶部?

bash - 带有 awk 的这个 shell 脚本行的含义

如果前一行匹配,则 Bash csv 删除行

Javascript在字符串中嵌套方括号

regex - 匹配值的正则表达式,可以选择括在括号中

java - 检测并返回 Java 字符串中的字符

linux - 如何启动键盘映射项目