打印

如何把DOS文本的换行符^M替换成行尾符$

如何把DOS文本的换行符^M替换成行尾符$

怎么在VI里把DOS文本里的换行符“ ^M ”(就是用ctrl+v+m打出来的那个蓝色的),替换成linux里的行尾符“$”   ?
关键咋弄出个蓝色的$啊?
我实在不知怎么搞了,就用   :1,$s/^M/\$/g     ,替换后的$自然就是普通的ASCII码符,没有换行的作用。
用 :1,$s/^M//g,把^M替换成空,也是没换行。
这个BLUE的$应该怎么打出来?
hurry up!

TOP

[code:1]2006年08月05日星期六上午09时55分31秒[root@xxx root]# dos2unix --help
dos2unix Copyright (c) 1994-1995 Benjamin Lin
         Copyright (c) 1998      Bernd Johannes Wuebben (Version 3.0)
         Copyright (c) 1998      Christian Wurll (Version 3.1)
Usage: dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]
-h --help        give this help
-k --keepdate    keep output file date
-q --quiet       quiet mode, suppress all warnings
                  always on in stdin->stdout mode
-V --version     display version number
-c --convmode    conversion mode
convmode         ASCII, 7bit, ISO, Mac, default to ASCII
-l --newline     add additional newline in all but Mac convmode
-o --oldfile     write to old file
file ...         files to convert in old file mode
-n --newfile     write to new file
infile           original file in new file mode
outfile          output file in new file mode
[/code:1]


       高举马列主义毛泽东思想 !!!

TOP

我要是硬是要在VI里替换呢?
hurry up!

TOP

:s/^M/$/g

TOP

[quote:84f597675a="yueliangdao0608"]:s/^M/$/g[/quote]

用这个只是换成普通的$,而不是在VI里显示漂亮蓝色的那种啊。
hurry up!

TOP

[quote:17530936b4="manioster"][quote:17530936b4="yueliangdao0608"]:s/^M/$/g[/quote]

用这个只是换成普通的$,而不是在VI里显示漂亮蓝色的那种啊。[/quote]

什么叫漂亮兰色?

TOP

[quote:ad5a07fed7="yueliangdao0608"][quote:ad5a07fed7="manioster"][quote:ad5a07fed7="yueliangdao0608"]:s/^M/$/g[/quote]

用这个只是换成普通的$,而不是在VI里显示漂亮蓝色的那种啊。[/quote]

什么叫漂亮兰色? [/quote]

就是行尾符啊,普通的LINUX文件,在用:set list命令后,行尾的蓝色$就会显示出来。就是这个蓝色的$。
因为我的文件没有换行,所以想把蓝色的^M换成蓝色的$
hurry up!

TOP

用file命令探测文件类型时
dos文件 :
#file dostxtfile.c
dostxtfile.c: ASCII C program text, with CR line terminators
而在VI下编辑的普通linux文件是:
#file linuxtxtfile.c
linuxtxtfile.c: ASCII text
hurry up!

TOP

干脆放一个我的DOS文本文件上来,大家帮我看看吧:)

俺用
#dos2unix -n dosfile.c unixfile.c
#diff  dosfile.c unixfile.c
没发现有什么改变啊~
附件: 您所在的用户组无法下载或查看附件
hurry up!

TOP

为什么一定要在vi里面做

gugong答案很标准
喜日摄影

如果你更热爱金钱而非自由,更习惯于被奴役的安宁而
畏惧令人充满活力的争取自由的抗争,那么,请你静静
地走开。我们不会乞求你的建议或是帮助。伏下身去讨
好那喂养你的人吧。但愿身上的锁链不会给你造成太多
的痛苦,但愿未来的人们不会记起你曾经是我们的国人

TOP

[quote:6a5f0071f3="manioster"]干脆放一个我的DOS文本文件上来,大家帮我看看吧:)

俺用
#dos2unix -n dosfile.c unixfile.c
#diff  dosfile.c unixfile.c
没发现有什么改变啊~[/quote]
hurry up!

TOP

用dos2unix可能是针对行尾有^M$的情况的,只有把^M替换掉就没问题了。可是我的文件里的行尾只有^M,把^M替换掉的话就更加不能换行了。
hurry up!

TOP

多几次就行了.

TOP

:neutral:
hurry up!

TOP