强大的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个想法

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据