网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > linux > 系统管理 > 系统管理 > Win格式文件转Linux格式几招  

Win格式文件转Linux格式几招

2008-09-11  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

    在Linux下处理文件,有时会看到行尾有一堆的 ^M 。这是Windows风格的换行符,“晕到死”两行之间用0d 0a分隔,让人很讨厌,但这是有历史原因的。 网管下载dl.bitscn.com

    小故事:为什么换一行需要0d 0a呢?

中国网管论坛bbs.bitsCN.com

    话当年long long ago,那时候打印机是最古老的机械式,它打完一行之后,要做两件事:第一件事是让打印头从行尾移回到行头,那个移来移去的打印头,被人形象的称为“车”(carriage),“车”回到左边的过程,很自然的大家就称之为“回车”(Carriage Return)。第二件事是把纸向上移一行,这个过程叫Line Feed。所以在ASCII码表中,0d是CR,0a是LF。

网管有家www.bitscn.net

    这就是Windows下0d 0a的来历,可能Linux认为这个很笨很落伍,一个Line Feed就能直接弄出一个新行来嘛,所以Linux下一直用0a来代表新行。

网管联盟bitsCN@com

    故事说完了,言回正题,在Linux发现了这些文件后,怎么处理呢?

网管u家www.bitscn.net

    一、乾坤大挪移:拷贝到Win,用UE、WINHEX等转成LINUX格式的文件。(靠,名字恁帅,但招式太土了!)。 中国网管论坛bbs.bitsCN.com

    二、二两拔千金:用vim打开,在Normal模式下输入:%s/[Ctrl-v][Enter]//g,其中Ctrl-v是让回车键被认为是特殊字符,而不是命令结束。 网管u家bitscn.net

    三、一招定江山:有时候下载下来的一堆源文件都是这样的,总不能用vi一个一个打开吧,于是有了这招: dos2unix, 例子:需要把当前目录下所有源文件改成unix格式:dos2unix *.h *.cpp

网管u家www.bitscn.net

    补充一下:其实严格说来^M是0a,这里面具体技术细节就不探讨了。

网管有家bitscn.net

TAGs   格式   文件       0a   Linux   0d   一行   dos2unix   long   打印      
 上一篇:在Firefox中使用Chrome的优秀功能   下一篇:把Vista中的中文字体整到Ubuntu8.04中
Win格式文件转Linux格式几招 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: