如果我打开我在Windows中创建的文件,则所有行都以^M.
如何一次删除这些字符?
问题如何在Vim中替换换行符?.替换新行的文本时必须使用\ r,如下所示
:%s/%/\r/g
Run Code Online (Sandbox Code Playgroud)
但是当替换字符的行尾和换行符时,您可以这样做:
:%s/\n/%/g
Run Code Online (Sandbox Code Playgroud)
手册的哪一部分记录了这些行为,以及它们背后的原因是什么?
当我使用vim和其他编辑器编辑源文件有时在行的末尾时,我会在每行的末尾得到这些^ M个字符.我认为它与在Windows中编辑文件然后在linux中有关.如何自动删除所有这些?
在Mac OS 10.10.3下,我通过输入以下命令安装了gnu-sed:
brew install gnu-sed --default-names
Run Code Online (Sandbox Code Playgroud)
当我再次输入时,我收到消息:
已经安装了gnu-sed-4.2.2
但是,即使重新启动系统并重新启动终端,我仍然无法使用sed的GNU版本.例如:
echo a | sed ’s_A_X_i’
Run Code Online (Sandbox Code Playgroud)
返回:替换命令'i'中的坏标志
我该怎么做才能让GNU版本正常工作?以下是$ PATH变量中的路径.
/Users/WN/-myUnix
/opt/local/bin
/opt/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/calibre.app/Contents/MacOS
/opt/ImageMagick/bin
/usr/texbin
Run Code Online (Sandbox Code Playgroud)
如果我的问题看起来很明显,我很抱歉,但我自己学习shell脚本,并且还不太了解UNIX程序的安装方式.任何帮助使用GNU兼容命令(在这种情况下sed,但很快我也需要其他人)在我的Mac上不会造成损害或不必要的混乱将非常感激.
我在Windows上使用gVim.我的代码^M在行尾显示字符.我:set ff=dos以前没有用.^M现有行的字符仍然存在,但不会显示我输入的换行符.我已将模式切换为mac(显示^J字符)和unix(也显示^M字符)并返回dos.有没有人见过这个?
需要在Eclipse工作区的所有资源中保持EOL格式一致.
我知道Eclipse首选项为新创建的文件设置了新的线条样式,但我希望自动转换现有文件.有一些设置/插件吗?
我只想设置一次,并确保所有行结尾的格式相同.
当我尝试从csv中删除^ M时,我遇到了问题
当我输入vim或vi file.csv时,我得到了
A, TK,2015-04-06,14.4^M,14.7,10.0,0.0,54.0^M,13.3^M,135.0^M,33.8
B, NV,2015-04-06,14.4^M,14.7,5.4,0.0,47.0^M,14.8^M,97.0^M,31.3
Run Code Online (Sandbox Code Playgroud)
我试过了
tr -d '^M' < file.csv > file2.csv
Run Code Online (Sandbox Code Playgroud)
但它也没有删除,也与sed.
我有一个Java程序,它使用以下语句创建文件并打印一堆数据:
out.write(data+"|"+data2+"\r\n");
Run Code Online (Sandbox Code Playgroud)
当我在Unix中使用vim查看此文件时,我会在每行后看到^ M. 它是什么?是什么造成的?我怎么能摆脱它?