sh/bash/dash/ksh/zsh等Shell脚本
-
nishizawa23
- 帖子: 27
- 注册时间: 2010-07-12 15:32
#1
帖子
由 nishizawa23 » 2010-08-12 16:48
如题
比如文件tagsfile中有若干
#include <xxx.h>
怎么用bash语言从文件按tagsfile中读取xxx.h的路径出来?
哪位高手知道,或者探讨一下

-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#2
帖子
由 trigger » 2010-08-12 17:00
描述清楚一点,每行一个?都是同一格式?
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
nishizawa23
- 帖子: 27
- 注册时间: 2010-07-12 15:32
#3
帖子
由 nishizawa23 » 2010-08-12 17:23
是这样
tagsfile里面有全部都是.c文件,由
find . -name "*.c" > tagsfile生成
如下
...
./lib_microblaze/cache.c
./lib_microblaze/microblaze_linux.c
./lib_microblaze/board.c
...
我想在这些.c文件中找出他们包含的头文件,并显示头文件的路径
现在折中的方法是
find . -name "*.c" | xargs grep ".*.h>$" | sed 's/\(.*\).<//g' | sed 's/>$//g'
可以显示头文件名字
version.h
net.h
asm/initcalls.h
asm/sections.h
common.h
command.h
image.h
zlib.h
asm/byteorder.h
asm/addrspace.h
asm/io.h
asm/setup.h
asm/arch/platform.h
但是不能显示路径,这个怎么解决?
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#4
帖子
由 trigger » 2010-08-12 18:00
还是没看明白,简化一下,你看我理解对不对
tagsfile文件格式如下:
./lib_microblaze/cache.c
./lib_microblaze/microblaze_linux.c
./lib_microblaze/board.c
cache.c以及其他每个.c文件中有形如
#include <xxx.h>
的行若干(还是说每个.c只有一个#include <xxx.h>且在首行?)
要求找到所有xxx.h的绝对路径并分行输出
是这意思吗?
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
tusooa
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
-
联系:
#6
帖子
由 tusooa » 2010-08-12 23:58
代码: 全选
find /usr/include/ -name xxx.h
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#7
帖子
由 trigger » 2010-08-13 9:09
find . -name "*.c" | xargs grep ".*.h>$" | sed 's/\(.*\).<//g' | sed 's/>$//g' > ufile
for i in ufile
do
locate `basename $i`
done
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#8
帖子
由 eexpress » 2010-08-13 9:48
locate `basename $i`

● 鸣学
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#9
帖子
由 trigger » 2010-08-13 10:29
eexpress 写了:locate `basename $i`

我是怕带路径的东西直接locate有不可预知的问题

楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#10
帖子
由 eexpress » 2010-08-13 10:36
这样locate。说不定巨多的结果刷屏幕的哦。
● 鸣学
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#11
帖子
由 trigger » 2010-08-13 10:41
eexpress 写了:这样locate。说不定巨多的结果刷屏幕的哦。
结果肯定巨多

楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
-
trigger
- 帖子: 1604
- 注册时间: 2006-10-25 18:08
#14
帖子
由 trigger » 2010-08-13 14:02
for i in `cat ufile`; do locate `basename $i`; done

楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。