博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在指定文件夹中查找指定关键字,并输出关键字包括的次数
阅读量:7226 次
发布时间:2019-06-29

本文共 1745 字,大约阅读时间需要 5 分钟。

因为要查看相关统计代码是不是部署多了。。SO。。。。

是把网上的脚本改了一下,增加了次数输出和判断。。

并且不用交互式输出,直接在命令后面接关键字和指定目录。。。

 

复制代码
#!/bin/bash #find files contains a keyword #write by xiaojing.zhao #2012.12.14  echo -e "\nThis is a script to find all the files in a specified path contains a keyword!"  echo -e "\nPlease input a keyword:" #read key #if [ "$key" == "" ]; then #    echo -e "keyword can not be null!\n" #    exit 0 #fi #keyword=$key  #echo -e "\nPlease input your specified path:" #read dir #判断该路径是否存在,并且是目录,不存在输出提示 keyword=$1dir=$2 test ! -d $dir && echo -e "The $dir is not exist in your system.\n\n" && exit 0  echo -e "\n---------------You find files are:---------------\n"  #keyword=JAVA_OPTS #dir=/jboss/jboss-eap-4.3/jboss-as/  #统计文件个数 file_count=0 #递归查看所有目录,即最深路径,不显示空行 file_list=`ls -R $dir 2> /dev/null | grep -v '^$'` for file_name in $file_list do     #临时文件变量temp,将ls -R即file_list中的文件名中所有匹配:后接一个或多个任意字符(.代表任意字符,*代表0个或多个$代表行尾结束符)全局替换为无     #简单的说,就是把file_name变量中的匹配:的行,将:后内容替换为空     temp=`echo $file_name | sed 's/:.*$//g'`     #如果临时文件变量temp是一个目录,而非文件,就将该目录赋值给cur_dir变量     if [ "$file_name" != "$temp" ]; then         cur_dir=$temp         #echo "-"$cur_dir #临时显示,调试用     else         #用file命令查看文件真身是否为ASCII text类型         file_type=`file $cur_dir/$file_name | grep "text"`         if [ "$file_type" != "" ]; then             temp=`grep $keyword $cur_dir/$file_name|wc -l 2> /dev/null`             #echo "--"$cur_dir/$file_name #临时显示,调试用             if [ "$temp" != "" ] && [ $temp -gt 0 ]; then                 echo $cur_dir/$file_name $temp                 #文件个数加1                 let file_count++             fi         fi     fi done  echo -e "\n-------------------------------------------------" echo -e "\n\nFiles Total: $file_count" echo -e "\nFind Finished!\n"
复制代码

转载地址:http://odufm.baihongyu.com/

你可能感兴趣的文章
司法部:做好春节期间在押罪犯的离监探亲工作
查看>>
研究:印度气候变暖速度加剧 2040年或面临重灾
查看>>
中俄蒙三国六方签订白鹤研究与保护合作备忘录
查看>>
补贴退坡幅度进一步加大 新能源汽车会涨价吗
查看>>
python爬虫——爬取豆瓣TOP250电影
查看>>
ES6数组的扩展----Array.from()和Array.of()
查看>>
当 Node.js 遇见 Docker
查看>>
C++与Rust操作裸指针的比较
查看>>
[译] 尤雨溪:Vue 3.0 计划
查看>>
Android酷炫实用的开源框架(UI框架)
查看>>
10分钟了解JS堆、栈以及事件循环的概念
查看>>
CSS的垂直居中和水平居中总结
查看>>
67 亿美金搞个图,创建知识图谱的成本有多高你知道吗?
查看>>
To be or not
查看>>
HTTP协议小结
查看>>
JS Boolean,Array,Object的基础知识
查看>>
HashMap 源码分析
查看>>
Java类集框架 —— HashMap源码分析
查看>>
【火炉炼AI】机器学习022-使用均值漂移聚类算法构建模型
查看>>
如何才能弥补实际工作经验不足,而获得一份好工作?
查看>>