【问题标题】:Substitue backslash to forward slash in #include statement [duplicate]在#include 语句中用反斜杠替换正斜杠[重复]
【发布时间】:2013-06-18 06:07:51
【问题描述】:

我正在将我的 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 对我有用。

【问题讨论】:

    标签: c linux vim command-line


    【解决方案1】:

    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 {} \;
    

    【讨论】:

    • 这符合我的预期。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2013-05-26
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多