sed的's/.$//'sed -e 's/.$//' a.txt > b.txt是删除a.txt中的windows换行符^M,请问's/.

问题描述:

sed的's/.$//'
sed -e 's/.$//' a.txt > b.txt
是删除a.txt中的windows换行符^M,请问's/.

我觉得说.$删掉^M还是不太严谨.
.在sed里匹配一个字符
$匹配行尾
按照我的理解,应该解释为,将每行最后一个字符删掉.
如果行尾不是^M 而是别的字符.也会删掉的.
这么写,我觉得应该比较严谨
sed -e 's/\^\M$//g' filename