强大的sed

想把一堆函数函数名通过批处理,写成dummy函数。

例如,

Foo1

Foo2

经过处理后变为

void Foo1()

{

printf(“Foo1\n”);

}

void Foo2()

{

printf(“Foo2\n”);

}

这也不难,写段代码就可以解决。

但是,我不只一个文件要这么做,所以就要靠批处理了。

想起来伟大的sed,搜索了一下用法。写出下面代码:

for filename in *.c

do

echo “setting $filename”
echo -e “#include <sgos.h>\n”\
“#include <api.h>\n\
#include \”debug.h\”\n\

“> new/$filename

sed ‘/^$/d;s/^\(.*\)$/\
void \1()\
\{\
NOT_IMPLEMENTED();\
\}\

/’ $filename >> new/$filename
done

保存文件,运行,问题解决。

运行前某文件内容:

SetLastError

GetLastError

SetErrorMode

运行后:

#include <sgos.h>

#include <api.h>

#include “debug.h”
void SetLastError()

{

NOT_IMPLEMENTED();

}
void GetLastError()

{

NOT_IMPLEMENTED();

}
void SetErrorMode()

{

NOT_IMPLEMENTED();

}

强大的sed》上有2条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>