发新话题
打印

如何查找文件中是否存在某个相关字符串?

如何查找文件中是否存在某个相关字符串?

被查找文件(test.h):
复制内容到剪贴板
代码:
..................

`define MODULE_A

//`define MODULE_B
//`define MODULE_C
....................
如何查找出并获得究竟是define了哪个module?如何把这个module名在shell里直接赋给某个变量?
我自己写了一个,但是好像得不到:
get_define.csh
复制内容到剪贴板
代码:
#!/bin/tcsh
set DEFINED
awk '/`define MODULE/{DEFINED=$2}' test.h
set DEFINE_NAME=$DEFINED
echo $DEFINED
echo $DEFINE_NAME
可是不显示什么东东,请问应该怎么做啊?

[ 本帖最后由 mygod100 于 2007-7-20 13:47 编辑 ]      
问世间、情是何物? 直教生死相许。 天南地北双飞客, 老翅几回寒暑。 双乐去,离别苦, 就中更有痴儿女。 君应有语, 渺万里层云, 千山暮雪, 只影为谁去?

TOP

不是很明白你在说什么       
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

不好意思,可能我没说明白,有一个文件内容如上(test.h),想用另一个脚本(如上get_define.csh)来查找test.h中究竟是define(即没有注释的) 了哪个MODULE,在test.h中define的module名都是以MODULE_开头的。

[ 本帖最后由 mygod100 于 2007-7-20 13:55 编辑 ]      
问世间、情是何物? 直教生死相许。 天南地北双飞客, 老翅几回寒暑。 双乐去,离别苦, 就中更有痴儿女。 君应有语, 渺万里层云, 千山暮雪, 只影为谁去?

TOP

用 grep 不行吗?      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

不明白

不明白,你能不能说清楚,举个例子      

TOP

复制内容到剪贴板
代码:
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[18044 0] # cat foo.h

... ...

#define MODULE_A

//#define MODULE_B
//#define MODULE_C

... ...
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[18044 0] # grep '^#define MODULE_' foo.h
#define MODULE_A
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[18044 0] # grep '^#define MODULE_' foo.h | awk '{ print $2; }'
MODULE_A
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[18044 0] # definedModule=$(grep '^#define MODULE_' foo.h | awk '{ print $2; }')
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[18044 0] # echo $definedModule
MODULE_A
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[18044 0] # o
      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

发新话题