Linux常用命令(二)_搜索类命令find、grep

文章目录1. find命令1.1 基本语法1.2 实例1.3 find与-exec、xargs2.管道符(|)3.grep命令3.1 基本语法3.2 实例

find命令用于在目录中匹配文件,grep命令用于在文件中匹配关键词

1. find命令
1.1 基本语法

find [搜索范围] [option]

option种类 功能

-name<查询方式>
按照指定的文件名查找模式查找文件

-user<用户名>
查找属于指定用户名所有文件

-size<文件大小>
按照指定的文件大小查找文件

-perm<755>
按照文件权限查找文件

-mtime -n +n
按照文件的更改时间查找文件。 -n表示距现在n天以内,+n表示距现在n天前

-type<文件类型>
表示查找某一类型的文件 b\d\c\p\l\f

1.2 实例

find . -name “* .txt”
find . -iname “.txt”
find /usr/ -path ‘* local* ’
find . -regex “.*(.txt|.pdf)$”

搜索大于(小于/等于)10K的文件并删除
find . -type f -size +(-/空)10k -delete

搜索权限不为777的文件 按执行权限来查找
find . -type f ! -perm 777

搜索tom的所有文件
find . -type f -user tom

最后10min 访问的文件
find /home -amin -10

最近两天访问的文件
find /home -atime -2

5min里修改过的文件
find / -mmin -5

1.3 find与-exec、xargs

find与-exec

-exec 执行该参数所给出的shell命令。相应的命令形式为“command” {} ; {} 与;有空格。
find . -type f -user root -exec chown tom {} ;
Linux常用命令(二)_搜索类命令find、grep
-ok 安全模式执行shell命令。-ok和-exec行为一样,不过它会给出提示,是否执行相应的操作。
find . -name ” *.txt” -ok rm (http://man.linuxde.net/rm) {} ;
Linux常用命令(二)_搜索类命令find、grep

find与xargs

在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。

find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

用grep命令在所有的普通文件中搜索hostname这个词
find . -type f -print | xargs grep “hostname”

删除文件大小为零的文件
find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件

2.管道符(|)

作用:将前面命令的标准输出作为后面命令的标准输入

3.grep命令

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

3.1 基本语法

grep 关键词 [文件/目录] [option]

option种类 功能

-c / –count
只打印匹配的行数,不显示匹配的内容

-f File / –file=File
从文件中提取模板

-i / –ignore-case
忽略大小写

-l / –files-with-matches
打印匹配模板的文件清单

-L / –files-without-match
打印不匹配模板的文件清单

-n / –line-number
在匹配的行前面打印行号。

-w,–word-regexp
如果被<和>引用,就把表达式做为一个单词搜索

3.2 实例

在多个文件中查找包含“test_text”的文本行,标记并返回。
grep “test_text” file_1 file_2 —color=auto
Linux常用命令(二)_搜索类命令find、grep
-E:正则匹配 -o: 只输出 文件中匹配到的部分。
grep -o -E “[a-c]+” 或 egrep “[a-c]+”
Linux常用命令(二)_搜索类命令find、grep
-c:统计文件和文本中包含匹配字符串的行数
grep -c test_text/“test_text” file_1 file_2

-r:递归搜索 -n:显示关键词在文件的第几行
grep “test_text” . -r -n 在多级目录中对文本进行递归搜索。

-i 忽略大小写 -n 显示搜索字符所在行数。
grep -i HELLO -n text1
Linux常用命令(二)_搜索类命令find、grep

-e 制动多个匹配样式
grep -e “only” -e “hello” -o -n text1
Linux常用命令(二)_搜索类命令find、grep
只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’)
grep -w pattern files

关注博主即可阅读全文


原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Linux常用命令(二)_搜索类命令find、grep

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Linux常用命令(二)_搜索类命令find、grep
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏