雨人科技的《Linux下的C编程》附带光盘是在MS下编写的文档。所有例程都是 *.txt文档。而且每行的结尾都有一个“^M”的控制符。如下:
main() ^M
{ ^M
int a,b,c; ^M
unsigned d; ^M
a=6;b= -7;u=78; ^M
c=a+b+u; ^M
printf(%d\n¡±,c); /*printf£¨£©Îª¸ñʽ»¯Êä³öº¯Êý*/ ^M
/*¡±%d¡±±íÊä³ö¸ñʽΪʮ½øÖÆÕûÊý*/ ^M
} ^M
要将MS的txt文档转换成.c文档
- 删除控制符“^M”,这两个字符是Cltr+V和Cltr+M的组合。
- 在目录中把后缀为“*.txt”的换名。
单篇删除“^M”可以在vi中用 : %s/^M//g 来实现,如果一个目录中多篇文档就要用到dos2unix了。更改后缀名用rename 's/txt/c/' *txt。多个目录中实现这个操作可以写个简单的shell程序:
#Change file name txt to c and delete '^M'
#
dos2unix *
rename 's/txt/c/' *txt
#End
保存成名为CHANG的文档,chmod +x CHANG。mv 到$HOME/bin下。这样进入每个目录后CHANG就可以了。
注:上面的程序还有些问题
- 没有包含文件#include <stdio.h>
- u应当为d
- printf语句中%前少了引号",n后面的乱码手动改为"。这个乱码应当是全角的”
- 注释中的汉字不能正常显示。删除了得了。