是的,这是一个非常懒惰的问题,但我认为这是人们经常有足够的问题,这里的某个人可能已经写了一些东西分享。脚本在许多文件中用替换会是什么样子?
我有大量的C语言文件,使用Windows相对路径的#include
语句。我正在编译其他操作系统上的代码(立即在我的OS X开发机器上),并且需要用这些include语句中的正斜杠来替换所有反斜杠。所以,从#include "libs\helper.h"
到#include "libs/helper.h"
。
是的,这是一个非常懒惰的问题,但我认为这是人们经常有足够的问题,这里的某个人可能已经写了一些东西分享。脚本在许多文件中用替换会是什么样子?
我有大量的C语言文件,使用Windows相对路径的#include
语句。我正在编译其他操作系统上的代码(立即在我的OS X开发机器上),并且需要用这些include语句中的正斜杠来替换所有反斜杠。所以,从#include "libs\helper.h"
到#include "libs/helper.h"
。
你应该有庆典/ awk的/在OS X sed的
for cfile in *.c
do
awk '/#include/{gsub(/\\/,"/")}1' cfile >temp
mv temp cfile
done
或
sed -i.bak '/#include/s/\\/\//g' *.c
你可以选择不同的分隔符... – 2010-02-12 01:21:40
sed '/^[ ]*#[ ]*include/ s:\\:/:g'
这应该是非常可靠的,因为它应该抓住的#include
而不是别的任何法律格式。
桑达正向因此,无论是在Mac的方式。
sed '/^#include/s/\\/\//g'
看起来像一个5个字符的正则表达式的工作。假设你不在其他地方使用反斜杠。 – 2010-02-12 01:12:19