如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
可以使用以下命令::%s/^V^M//g其中“^”表示使用CTRL键。
其他回答
将文件目录从DOS转换为Unix
使用命令行和sed,查找当前目录中扩展名为“.ext”的所有文件,并删除所有“^M”
@ https://gist.github.com/sparkida/7773170
find $(pwd) -type f -name "*.ext" | while read file; do sed -e 's/^M//g' -i "$file"; done;
此外,如前一个答案所述,^M=Ctrl+V+Ctrl+M(不要只键入插入符号“^”和M)。
如果您在Windows中的Notepad或Notepad++中创建文件,将其带到Linux,然后用Vim打开,您将在每行末尾看到^M。为了去除这一点,
在Linux终端上,键入
dos2unix filename.ext
这将产生所需的魔力。
以下步骤可以将DOS的文件格式转换为Unix:
:e ++ff=dos Edit file again, using dos file format ('fileformats' is ignored).[A 1]
:setlocal ff=unix This buffer will use LF-only line endings when written.[A 2]
:w Write buffer using Unix (LF-only) line endings.
参考:文件格式
:set fileformat=unix将DOS转换为unix。
我找到了一个非常简单的方法:用nano:nano-file.txt打开文件
按Ctrl+O保存,但在按Enter键之前,按:Alt+D在DOS和Unix/Linux行结尾之间切换,或按:Alt+M在Mac和Unix/Linux行结尾之间转换,然后按Enter键保存,按Ctrl+X退出。
推荐文章
- 同一行上有多个命令
- 如何将所有文本转换为小写在Vim
- 从包含文件名的路径获取不包含文件名的完整路径
- Visual Studio代码-在文件末尾插入换行符
- 使用vimdiff查看所有' git diff '
- Git:从另一个分支复制目录中的所有文件
- PHP,获取没有文件扩展名的文件名
- 禁止在vim中创建交换文件
- NERDTree重载新文件
- 如何在远程系统上使用Ansible任务移动/重命名文件
- 在Vim中,我想返回一个词。w的反义词
- 从java.io.File获取java.nio.file.Path对象
- 在tmux模式中丢失vim配色方案
- 在VIM中删除光标后面或周围的单词
- 在Unix中删除回车