替换反斜杠以在#include语句中转发斜杠

时间:2013-06-18 06:07:52

标签: c linux vim command-line

我正在将我的C程序从Windows移植到Linux。问题是Linux(类似Unix)不会将\识别为目录分隔符,here说。因此,我必须在项目中的所有\语句中将/替换为#include。像这样,

转换

#include <mydir\myhdr.h>  or
#include "mydir\myhdr.h"

#include <mydir/myhdr.h>  or
#include "mydir/myhdr.h"    

我如何找到并快速替换?通过命令行或Vim为我工作。

1 个答案:

答案 0 :(得分:4)

vim中尝试此命令:

:g/#include/s@\\@/@g

您还可以使用sed

$ sed -i '/#include/s@\\@/@g' code.c

如果要替换多个文件:

$ vim *.c
:argdo your_command | update

或者

$ sed -i your_command *.c

或者

$ find . -name '*.c' -exec sed -i your_command {} \;