分页: 1 / 1
一个菜鸟问题,请大侠赐教(^M 问题)
发表于 : 2009-12-14 10:33
由 Messiya
一个windows的文件,在ubuntu下每行结尾都有一个“^M”
在命令行模式下,可以用sed 's/^M$//' a.txt >b.txt 删除掉
但是为啥写在脚本里边就不行了呢
求大侠指点
Re: 一个菜鸟问题,请大侠赐教(^M 问题)
发表于 : 2009-12-14 14:36
由 nicegiving
Windows下文件的换行符和linux下面的不一样。
在Windows下应该使用“\r\n”提供一次换行
而在Linux下只需要“\n”就可以了。
Re: 一个菜鸟问题,请大侠赐教(^M 问题)
发表于 : 2009-12-14 14:40
由 eexpress
就那\r 而已。别管它。
Re: 一个菜鸟问题,请大侠赐教(^M 问题)
发表于 : 2009-12-14 14:45
由 xhy
所以在windows下也要坚持用VIM或者emacs,不要用那些脑残编辑器
Re: 一个菜鸟问题,请大侠赐教(^M 问题)
发表于 : 2009-12-14 14:52
由 懒蜗牛Gentoo
再教lz个不用sed的方法,有个命令叫unix2dos,还有个命令叫dos2unix。不知道ub下默认有没有,没有就apt吧
Re: 一个菜鸟问题,请大侠赐教(^M 问题)
发表于 : 2010-01-05 15:25
由 prettya1
这是由于文本中有两个\r造成的。
用这个 sed 's/\r$//' <file-name> 就可以了。
或在用vim 打开文件,会看到^M,这里用set ff=unix 保存退出后,再用vim打开就会看不到了。