linux grep命令 (global search regular expression(RE) and print out the line )是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep这个应用程序最早由肯·汤普逊写成。grep原先是ed下的一个应用程序,名称来自于g/re/p(globally search a regular expression and print,以正规表示法进行全域查找以及打印)。

grep是非常强大的命令,配合管道一起使用,可以进行复杂的查找。

命令格式
grep [option(s)] pattern'搜寻字符串' [file(s)]

其中option为grep命令的选项,pattern为要匹配的简单字符串或携带特殊字符的模式字符串,file为文件列表,可有多个文件。

使用管道配合其他命令:
ls | grep [字符串或者正则表达式]

ps -ef | grep [字符串或者正则表达式]

参数规则
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

grep与正则表达式
grep的强大之处在于,可以在pattern中使用正则表达式进行模式字串的匹配。
grep命令中使用的是“基本的正则表达式”,如果想使用更高级的正则表达式规则,需要指定选项 -E ,相当于egrep命令。
下字符或字符串在正则表达式的规则中具有特殊意义,如,*,+,[,],^,$,\,{,}

相关命令
find命令,
egrep命令,

Linux统计某文件夹下文件、文件夹的个数

统计某文件夹下文件的个数
ls -l |grep "^-"|wc -l

统计某文件夹下目录的个数
ls -l |grep "^d"|wc -l

统计文件夹下文件的个数,包括子文件夹里的
ls -lR|grep "^-"|wc -l

如统计/home/han目录(包含子目录)下的所有js文件则:
ls -lR /home/han|grep js|wc -l 或 ls -l "/home/han"|grep "js"|wc -l

统计文件夹下目录的个数,包括子文件夹里的
ls -lR|grep "^d"|wc -l
说明:
ls -lR
长列表输出该目录下文件信息(R代表子目录注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。

如何只查看文件夹

ls -d 只能显示一个.
find -type d 可以看到子文件夹
ls -lF |grep / 或 ls -l |grep '^d' 只看当前目录下的文件夹,不包括往下的文件夹

场景范例

返回web.xml中所有包含"servlet"的文本行,注意grep默认是大小写敏感的,
可以添加-i 忽略大小写。
grep servlet web.xml

最新文章

  1. Oracle客户端连接远程Oracle服务中文乱码问题
  2. ToggleButton
  3. ThreadLocal实现session中用户信息 的线程间共享(精)
  4. backbone前端基础框架搭建
  5. WEB可用性、可访问性、可维护性
  6. Tk::Table
  7. 解决 winedit 打开tex文件 reading error
  8. python获取设备主机名和IP地址
  9. RDay2-Problem 2 B
  10. linux启动脚本,暂停脚本
  11. Educational Codeforces Round 35 (Rated for Div. 2)
  12. [原创]K8Cscan插件之Weblogic漏洞扫描&通用GetShell Exploit
  13. win10系统同时安装python2.7和python3.6
  14. 表表达式,Substring, CharIndex, 多行数据变同一行的用法
  15. Filter学习:项目第八阶段
  16. php的__autoload和php的__call
  17. day 96 关于分页的使用
  18. ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(一)安装第三方空间库
  19. Android P 功能和 API
  20. HTTP代理服务器

热门文章

  1. --Dirring love 音乐(01背包问题)
  2. 锋利的jQuery-6--序列化函数serialize()和serializeArray()在表单提交中的作用
  3. centos 搭建gitlab
  4. Android SDK Manager和AVD Manager使用
  5. 爬虫的自我解剖(抓取网页HtmlUnit)
  6. Jquery 获取URL参数
  7. [MySql]explain用法及实践
  8. WSP (无线会话协议)
  9. sh脚本学习之: sh脚本 、sed、awk
  10. NOIP2012 借教室