RQL's Blog 菜鸟成长记

linux搜索工具

2020-06-08
renql

grep

1、或操作

grep -E '123|abc' filename   # 找出文件(filename)中包含123或者包含abc的行,-E指用正则表达式来描述关键词
egrep '123|abc' filename     # 用egrep同样可以实现
awk '/123|abc/' filename     # awk 的实现方式

2、与操作

grep pattern1 files | grep pattern2  # 显示既匹配 pattern1 又匹配 pattern2 的行。

3、其他操作

grep -i pattern files   # 不区分大小写地搜索。默认情况区分大小写,
grep -r pattern ./*     # 可以搜索次级目录下的文件
grep -l pattern files   # 只列出匹配的文件名,
grep -L pattern files   # 列出不匹配的文件名,
grep -w pattern files   # 只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files //匹配的上下文分别显示[number]行,

原文: http://blog.sina.com.cn/s/blog_65e13da00100of1f.html

find

该命令可以用于查找文件名中带有某字符的文件,也可查找近期更新或读取过的文件等等。个人最常用的还是下面的这个命令

find ./ -name "*.txt" | xargs grep  "Hello"  #找出后缀为txt的文件,再次基础上再筛选出文件内容中有Hello的
find ./ -name "*.txt" | grep  "Hello"     #类似于find ./ -name "*Hello*.txt"

Content