回车回去很长一段路,早在打字机上举行的机制或杠杆了马车,一张纸向右,突然左边的字母被输入了。他们坚持在Windows上的文本文件中,但从未在Linux系统上使用。这有时不兼容导致的问题当你想过程文件创建的Linux在Windows上,但这个问题很容易解决。gydF4y2Ba
回车,也称为gydF4y2BaCtrl + MgydF4y2Ba字符将显示为一个八进制15如果你看文件了gydF4y2BaodgydF4y2Ba八进制转储)命令。的字符gydF4y2BaCRLFgydF4y2Ba通常用于表示行结束的回车和换行键序列窗口文本文件。那些喜欢凝视八进制转储将现货gydF4y2Ba\ r \ ngydF4y2Ba。Linux文本文件,相比之下,只有换行结束。gydF4y2Ba
下面是一个示例gydF4y2BaodgydF4y2Ba输出包含的行gydF4y2BaCRLFgydF4y2Ba字符在八进制和字符形式高亮显示。gydF4y2Ba
美元od bc测试文件。txt 163 124 150 151 0000000 040 151 163 040 141 040 164 145 163 164 040 146 T h is i s T e s T f 040 151 154 145 0000020 146 162 157 155 040 127 151 156 144 157 167 163 i l e f r o W i n d o W s 0000040 056gydF4y2Ba015 012gydF4y2Ba111 164 047 163 040 144 151 146 146 145 162 145 156 < = =。gydF4y2Ba\ r \ ngydF4y2Ba我t ' s d f f e r e n < = = 150 164 040 164 0000060 141 156 040 141 040 125 156 151 170 040 164 145 t t h n U n我x t e 146 170 164 040 0000100 151 154 145gydF4y2Ba015 012gydF4y2Ba167 157 165 154 144 040 142 < = = x t f i l egydF4y2Ba\ r \ ngydF4y2Baw o u l d b < = =gydF4y2Ba
虽然这些角色并不代表一个巨大的问题,他们有时会干扰当你想解析文本文件在某些方面和不想要代码在他们的存在与否。gydF4y2Ba
3删除回车字符从文本文件的方法gydF4y2Ba
幸运的是,有几种方法可以轻松地删除回车字符。这里有三个选项:gydF4y2Ba
dos2unixgydF4y2Ba
您可能需要安装的麻烦,但是gydF4y2Bados2unixgydF4y2Ba可能是最简单的方法把Windows文本文件到Unix / Linux文本文件。一个命令一个参数,你就完成了。不需要第二个文件名称。文件将被改变。gydF4y2Ba
美元dos2unix测试文件。txt dos2unix:转换文件测试文件。txt Unix格式……gydF4y2Ba
您应该看到文件长度减少,取决于它包含多少行。与100行一个文件可能会缩减99个字符,因为只有最后一行是不会结束的gydF4y2BaCRLFgydF4y2Ba字符。gydF4y2Ba
之前:gydF4y2Ba
-rw-rw-r——121 9月14日19:11 testfile.txt啦啦gydF4y2Ba
后:gydF4y2Ba
-rw-rw-r啦啦——118 9月14日19:12 testfile.txtgydF4y2Ba
如果你需要将大量的文件,不要一次修复它们。相反,把它们都放在一个目录本身和运行一个命令如下:gydF4y2Ba
发现美元。型f - exec dos2unix {} \;gydF4y2Ba
在这个命令中,我们使用找到定位常规文件,然后运行gydF4y2Bados2unixgydF4y2Ba命令将其转换一次。{}的命令被文件名所取代。你应该坐在目录与文件当你运行它。这个命令会损害其他类型的文件,比如那些包含八进制15字符在某些上下文之外的一个文本文件在一个图像文件(例如,字节)。gydF4y2Ba
sedgydF4y2Ba
您还可以使用gydF4y2BasedgydF4y2Ba流编辑器,删除回车。然而,您将必须提供一个文件名。这里有一个例子:gydF4y2Ba
美元sed - e " s / M ^ / / "。txt > after.txtgydF4y2Ba
一个需要注意的重要的事情是,你不命令似乎是什么类型。您必须输入gydF4y2BaM ^gydF4y2Ba通过输入gydF4y2BaCtrl + VgydF4y2Ba紧随其后的是gydF4y2BaCtrl + MgydF4y2Ba。“s”是替代命令。斜杠分隔的文本我们寻找(Ctrl + M)和文本(在本例中没有),我们取而代之。gydF4y2Ba
六世gydF4y2Ba
你甚至可以删除回车(gydF4y2BaCtrl + MgydF4y2Ba)字符gydF4y2Ba六世gydF4y2Ba,虽然这个假设你没有穿过数以百计的文件和可能做一些其他的变化,。你会输入“gydF4y2Ba:gydF4y2Ba“去命令行然后类型如下所示的字符串。与gydF4y2BasedgydF4y2Ba,gydF4y2BaM ^gydF4y2Ba这个命令需要输入的一部分gydF4y2BaCtrl + VgydF4y2Ba得到gydF4y2Ba^gydF4y2Ba然后gydF4y2BaCtrl + MgydF4y2Ba插入的gydF4y2Ba米gydF4y2Ba。的gydF4y2Ba% sgydF4y2Ba是一个替换操作,斜杠分隔字符我们想要删除和文本(不)我们想取而代之。“gydF4y2BaggydF4y2Ba”(全球)意味着做这个文件中的每一行。gydF4y2Ba
:% s / M ^ / / ggydF4y2Ba
总结gydF4y2Ba
的gydF4y2Bados2unixgydF4y2Ba命令可能是最容易记住的和最可靠的方式从文本文件删除回车。其他选项都有点棘手,但他们提供相同的基本功能。gydF4y2Ba