PAS 删除文本中的^M
标记
由于历史原因,不同操作系统使用不同的方式表示文件的换行符\n
。现代计算机系统中的文件换行和早期的打字机有关,主要和两个控制符有关:line feed (LF) ,carriage return (CR)。
系统 | 换行符 |
---|---|
Windows | CRLF |
Linux/macOS | LF |
由于如果将Windows中的存放/编辑过的文件(假设编码解析正确)在Linux中打开(使用cat -v filename
命令查看),可以发现文件末尾会有^M
符号,这回导致脚本文件等无法正确执行。而Linux文件在Windows中打开,通常会显示成一行,没有换行。
去除文件末尾^M
的集中常见方法:
- 方法1:
dos2unix filename
(dos2unix可能需要安装;部分系统可能不支持) - 方法2:
sed -i 's/^M//g filename'
(使用sed命令进行替换) - 方法3:
vim
打开文件,使用:%s/^M//g
进行替换 - 方法4:
cat filename | tr -d "\r" > newfile
说明:输入^M
符号(这是一个符号),使用Ctrl+V, Ctrl+M
进行输入。
linux下去掉文件中^M的方法, 2014-02-28