在Linux上,将6GB文件中的空格字符替换为硬制表符

在Linux上,将6GB文件中的空格字符替换为硬制表符,linux,replace,sed,awk,vi,Linux,Replace,Sed,Awk,Vi,我有一个vi命令,它用硬制表符替换空格字符: vi myfile.txt : # To go to the last line 1,$s/ /\t/g # Then I type in this to replace spaces by a tab 如何使用或进行操作?几乎同样的事情也适用于sed,只需使用真正的选项卡,而不是\t: 如果要从bash命令行执行此操作,则需要执行Ctrl-VTab对以获取选项卡。几乎同样的操作也适用于sed,只需

我有一个vi命令,它用硬制表符替换空格字符:

     vi myfile.txt
       : # To go to the last line 
          1,$s/ /\t/g   # Then I type in this to replace spaces by a tab

如何使用或进行操作?

几乎同样的事情也适用于sed,只需使用真正的选项卡,而不是\t:


如果要从bash命令行执行此操作,则需要执行Ctrl-VTab对以获取选项卡。

几乎同样的操作也适用于sed,只需使用真正的选项卡,而不是\t:

如果您是从bash命令行执行此操作,则需要执行Ctrl-VTab对以获得选项卡。

除非您严格要求使用sed/awk,否则tr是最佳选项:

tr ' ' '\t'  < inputfile > outputfile
除非您严格要求sed/awk,否则tr是最佳选择:

tr ' ' '\t'  < inputfile > outputfile


不是很相关,但确实要用制表符替换每个空格吗?通常,如果是为了格式化,用制表符替换每2或每4个空格是有意义的。@madkitty-我有点感兴趣。这是一个6GB的纯文本文件吗?它是一个6GB的纯文本文件,应该组织成四列,以便以后插入MySQL表。问题已经解决,但如果您有更好的想法,请让我知道:Thnkx不太相关,但您确定要用制表符替换每个空格吗?通常,如果是为了格式化,用制表符替换每2或每4个空格是有意义的。@madkitty-我有点感兴趣。这是一个6GB的纯文本文件吗?它是一个6GB的纯文本文件,应该组织成四列,以便以后插入MySQL表。问题已经解决了,但如果你有更好的主意,请告诉我:Thnkxwait。。我是否必须键入$sed's/\t/g'才能正常工作?^我不需要先用编辑器打开文件?比如vi或者我应该在语法中的某个地方写下文件名?~~~~~~~~~~@madkitty:sed代表流编辑器,这样您就可以通过它来流数据,而不必将整个内容加载到内存中。我添加了一个可能会澄清问题的小更新。哈~现在我明白了,谢谢XD^^^~~~~好吧,我刚做了,但索引不一致。我似乎不能用vi获得相同的结果。。。也许还有另一个解决方案?哦,那么你用Ctrl-V制表符对来获得制表符是什么意思?这会取代\t吗?等等。。我是否必须键入$sed's/\t/g'才能正常工作?^我不需要先用编辑器打开文件?比如vi或者我应该在语法中的某个地方写下文件名?~~~~~~~~~~@madkitty:sed代表流编辑器,这样您就可以通过它来流数据,而不必将整个内容加载到内存中。我添加了一个可能会澄清问题的小更新。哈~现在我明白了,谢谢XD^^^~~~~好吧,我刚做了,但索引不一致。我似乎不能用vi获得相同的结果。。。也许还有另一个解决方案?哦,那么你用Ctrl-V制表符对来获得制表符是什么意思?这会取代\t吗?哦,谢谢,我现在正在尝试tr,如果缩进更一致,我们的一个文件会让您知道。Thkx:哦,谢谢,我现在正在尝试tr,我们的一个文件,如果缩进更一致,会让你知道。Thkx: