文档章节

通过shell脚本查找代码工程中的指定字段

h
 heavenjackson
发布于 2017/09/06 18:56
字数 231
阅读 2
收藏 0

由于工作需要,需要在Linux环境下进行code的编写。当工程量大的时候,很难找出某个字段出现在那些文件中,因此写了一个shell脚本(文件名:search_tool.sh)进行字段的查找。如,需要查找src目录下含有字段"lht"的文件,及所在的行,只需执行命令:

search_tool.sh ./ lht 

即可在当前文件夹中生成文件search_result,此文件中就包含了所有的查找结果。 如下为脚本文件的对应code:

#!/bin/sh

if [ $# != 2 ]
then
  echo "error args num!"
  exit 1
fi

dir=$1
ref=$2

if [ ! -d "$dir" ]
then
  echo "dir doesn't exit!"
  exit 1
fi

if [ -f "./search_result" ]
then
  rm ./search_result
fi

touch search_result

echo "search for ref : $ref" >> ./search_result
echo >> ./search_result

for cur_file in $(find "$dir" -name "*.h" -o -name "*.cc" -o -name "*.c")
do
  count_searched=$(grep -c "$ref" $cur_file)
  if [ "$count_searched" != "0" ]
  then
    echo "<-----------------------$cur_file----------------------------->" >> ./search_result
    grep -n "$ref" $cur_file >> ./search_result
    echo >> ./search_result
  fi
done

exit 0

© 著作权归作者所有

共有 人打赏支持
h
粉丝 0
博文 3
码字总数 1211
作品 0
深圳
私信 提问
Linux Shell 文本处理工具集锦

Linux Shell 文本处理工具集锦 本文将介绍Linux下使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和参数都是最常用和最为实用...

平凡之路
2014/10/13
0
0
使用 Spring Roo 开发应用程序

在此 Spring Roo 系列的 Spring Roo 简介,第 1 部分:从源代码构建 中,我们使用 Spring Roo 构建了一个小的企业会议应用程序。此处,我们将使用 Spring Roo 将简单的 CRUD web 应用程序扩展...

IBMdW
2011/05/04
4.2K
0
Linux中Shell的用法

本文结合大量实例阐述如何编写一个shell脚本。   为什么要进行shell编程   在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集...

浪泉
2016/12/28
0
0
朗科实习期间心得笔记(八)

其他的文本处理命令: wc命令 cut命令 在文件的每一行中提取片断 注意:能够被cut命令修剪的文本文件或数据内容,一般是具有某种特定格式或结构的文本文件或数据内容;如:/etc/passwd cut [...

sherlockR
2017/11/22
0
0
其他文本处理命令以及bash变量中的一些字符串的处理方法

其他的文本处理命令: 1.wc 2.cut命令: cut - 在文件的每一行中提取片断 注意:能够被cut修剪的文件或数据内容,一般是具有某种特定格式或结构的文本文件或数据内容; 如 :/etc/passwd 格式...

狐狸和鳄鱼
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之观察者模式

本片博客主要翻译这篇文章: https://www.journaldev.com/1739/observer-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文...

firepation
25分钟前
3
0
Js中DOM事件绑定分析

在这篇文章中小编给大家整理了关于JS中DOM事件绑定的相关知识点,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 #Js事件绑定 Ja...

前端攻城小牛
30分钟前
4
0
指令、伪操作、伪指令和宏指令区别

汇编语言程序中的语句可以由指令、伪指令和宏指令组成。 指令:每一条指令都对应一种CPU操作。 伪指令又称为伪操作,它是在对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择...

二营长意大利炮
30分钟前
2
0
SQL Server SQL语句删除索引

当删除索引提示超时时候,可以使用SQL语句删除索引,可以避免删除索引超时问题。 use [数据库名]drop index [索引名称] on [表名]

产吅经理
30分钟前
1
0
深入解析Axios 常用的请求方法别名

下面小编就为大家分享一篇Axios 常用的请求方法别名,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 #Axios 是一个基于 promise ...

前端攻城老湿
37分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部