发布网友 发布时间:2024-09-10 12:41
共3个回答
热心网友 时间:2024-09-29 11:24
我觉得说.$删掉^M还是不太严谨。
.在sed里匹配一个字符
$匹配行尾
按照我的理解,应该解释为,将每行最后一个字符删掉。
如果行尾不是^M 而是别的字符。。也会删掉的。
这么写,我觉得应该比较严谨
sed -e 's/\^\M$//g' filename
热心网友 时间:2024-09-29 11:29
同意楼上.$是删除\n之前的最后一个字符 、因为.代表除了\n之外所有的字符。
如果结尾不是\r\n咋办,不就多删除了,或者结尾是\n\r咋办,不还是留下了\r
热心网友 时间:2024-09-29 11:26
s就是sed的替换指令
$在正则表达式中表示行尾
s/.$//是把换行符^M替换为空,即删除之意