- 论坛徽章:
- 0
|
本帖最后由 unbutun 于 2012-03-02 20:14 编辑
awk -f xxx.awk filexxx
filexxx文件中的内容:
./init/main.c : int test_awk\(a\, b\)
main.c内容
int a()
{
}
int b()
{
}
int test_awk(a, b)
{
printf(""xxxxxx\n");
if(a == 1) {
} else {
b = 5;
}
}
期望效果:
int a()
{
}
int b()
{
}
int test_awk(a, b)
{
printf(""xxxxxx\n");
if(a == 1) {
} else {
b = 5;
}
}
int test_awk__aaaa(a, b);
xxx.awk
代码疑问:
BEGIN {
FS=":"
found=0
search=0
n=0
}
{
symbol["file"]=$1
symbol["pattern"]=$2
while("cat "symbol["file"]"" | getline) {
if(search == 1) {
if(match($0,/{/)) {
n=1
n++
} else {
n--
}
}
if(n == 1) {
将1处存下来的东西,做下修改追加到函数尾部
}
if(match($0, /symbol["pattern"]/)) { 1: --------- 这个地如果想要用symbol["pattern"]里的字符串来匹配,应该怎么写?
print $0
found=1
}
if(found == 1) {
if(match($0, /)/)) {
2: 此处想要将前面从found=1时到匹配了),之间的内容存在变量或文件里,不知应该怎么做?
search=1
}
}
}
}
多谢
|
|