如果你要处理来自 windows 系统产生的文本文件,你在 linux 下,会发现结尾是 ^M。事实上,如果你使用 Python 进行处理,这个其实没有关系。
但是,如果你直接使用 join 命令连接两个文件,会发现中间连接处也会有 ^M。这是因为 windows 下,以 ^M作为换行符。
但是,如果你直接使用 join 命令连接两个文件,会发现中间连接处也会有 ^M。这是因为 windows 下,以 ^M作为换行符。
网上常用的方法有5种:
1. dos2unix,一个命令搞定,并且修改的是原文件:
dos2unix a.txt
你也可以产生新文件,如下:
dos2unix -n a.txt b.txt
2. 使用 sed 命令,要注意的是:^M的输入方式是 Ctrl + v ,然后Ctrl + M,而不是直接输入 ^M
sed -i 's/^M//g' a.txt
3. 使用 vim 程序:
vi a.txt
:1,$ s/^M//g
4. 用 tr 命令,这个命令可以写在 Python 里面,并调用,记得先写成 tr.sh,然后 bash tr.sh:
cat a.txt |tr -d '/r' > b.txt
1. dos2unix,一个命令搞定,并且修改的是原文件:
dos2unix a.txt
你也可以产生新文件,如下:
dos2unix -n a.txt b.txt
2. 使用 sed 命令,要注意的是:^M的输入方式是 Ctrl + v ,然后Ctrl + M,而不是直接输入 ^M
sed -i 's/^M//g' a.txt
3. 使用 vim 程序:
vi a.txt
:1,$ s/^M//g
4. 用 tr 命令,这个命令可以写在 Python 里面,并调用,记得先写成 tr.sh,然后 bash tr.sh:
cat a.txt |tr -d '/r' > b.txt