Linux下三剑客综合题目与find

例子1

去掉宏定义前面的#define和后面的内容,只留下宏的名字

grep  DYNA_PARAM plat.h |sed 's/#define[ ]*//g'|sed 's/[ ][^$]*//g' > a

例子2

搜索带有set_para和get_para的宏

我们拿到了a,里面全是各种宏,需要逐个搜索和输出结果

本着事情一步一步来的原则,我们先实现一个单个宏搜索和输出的程序

#!/bin/bash
grep $1 -r mmr|awk '$0~/set_para/{m[0]++;m[3]=$0} $0~/remove_para/{m[1]++;} END{if(m[0]>0 && m[1]>0) print m[0], m[1], m[3]}'

然后再逐个搜索和输出

cat  ~/a|xargs -I {} ./a.sh {}

例子3

查看项目中代码行数

find . -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name "*.cc" -o -name "*.hpp"|xargs wc -l|sort

猜你喜欢

转载自blog.csdn.net/qq_33882435/article/details/127537791
今日推荐