如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
要直接在Linux控制台中运行:
vim file.txt +"set ff=unix" +wq
其他回答
我想要用换行符代替^M。Perl拯救:
perl -pi.bak -e 's/\x0d/\n/g' excel_created.txt
或写入标准输出:
perl -p -e 's/\x0d/\n/g' < excel_created.txt
:%s/\r\+//g
在Vim中,它去掉所有回车符,只留下换行符。
使用以下命令:
:%s/^M$//g
要显示^M,请键入CtrlV,然后键入CtrlM。CtrlV告诉Vim按字面意思输入下一个字符。
发件人:文件格式
[Esc]:%s/\r$//
更改视图中的行尾:
:e ++ff=dos
:e ++ff=mac
:e ++ff=unix
这也可以用作保存操作(:w单独保存不会使用屏幕上看到的行尾):
:w ++ff=dos
:w ++ff=mac
:w ++ff=unix
您可以从命令行使用它:
for file in *.cpp
do
vi +':w ++ff=unix' +':q' "$file"
done
推荐文章
- 即使模板文件存在,Flask也会引发TemplateNotFound错误
- 如何在Ruby中创建文件
- __FILE__宏显示完整路径
- 如何在Vim注释掉一个Python代码块
- 如何在可视块模式插入?
- 如何将文件指针(file * fp)转换为文件描述符(int fd)?
- 强迫自己掌握vi的最好方法是什么?
- 如何回到行之前编辑的最后一个在Vim?
- 如何删除文件中的特定行?
- 如何跳转到一个特定的人物在vim?
- 如何删除一个大的文本块而不计算行?
- 使用Java重命名文件
- 如何从Python包内读取(静态)文件?
- 为什么我得到“Pickle - EOFError: run out of input”读取一个空文件?
- Awk不打印换行符