使用shell搜索匹配文件

前两天面tx都有问到这个问题,我知道大致能通过find和grep实现,但是具体没写过.刚刚无事翻了下命令手册,发现find的一个动作:

ACTIONS
   -exec command ;
    Execute command; true if 0 status is returned.  All following arguments to find are taken to be arguments to the command until an argument consisting of `;' is encountered.  The string `{}' is replaced by the current file name being processed everywhere it occurs in the arguments  to  the  command, not just in arguments where it is alone, as in some versions of find.  Both of these constructions might need to be escaped (with a `\') or quoted to protect them from expansion by the shell.  See the EXAMPLES section for examples of the use of the -exec option.  The specified command is  run  once for  each  matched  file.   The command is executed in the starting directory.   There are unavoidable security problems surrounding use of the -exec action; you should use the -execdir option instead.

从描述来看就是执行命令,其数据来源于find的结果,如果命令返回0(即成功)则输出.

结合grep搜索:

find ./ -name "*.php" -exec grep "system" {} \;

执行,返回的是文件内容,需要返回文件名则需要对grep命令使用-l参数:

find ./ -name "*.php" -exec grep -l "system" {} \;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

如何为logstash+elasticsearch配置索引模板?

4595
来自专栏小夜博客

LinuxVPS自动每日备份

36512
来自专栏鬼谷君

优化mysql服务器

1092
来自专栏文渊之博

SQLServer中的死锁的介绍

简介 什么是死锁?      我认为,死锁是由于两个对象在拥有一份资源的情况下申请另一份资源,而另一份资源恰好又是这两对象正持有的,导致两对象无法完成操作,且...

2155
来自专栏我是攻城师

Elasticsearch如何动态维护一个不可变的倒排索引

3889
来自专栏杨建荣的学习笔记

datapump简介(一) (r6笔记第2天)

datapump是在10g之后推出的新特性,无论从功能还是性能上,都有一定的改进,可以说在功能上丰富了很多,在性能上也提升了很多。可以说exp/imp中能实现的...

2565
来自专栏维C果糖

详述 MySQL 导出数据遇到 secure-file-priv 的问题

ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv opti...

3166
来自专栏张狗蛋的技术之路

MySQL探秘(四):InnoDB的磁盘文件及落盘机制

 任何一个技术都有其底层的关键基础技术,这些关键技术很有可能也是其他技术的关键技术,学习这些底层技术,就可以一通百通,让你很快的掌握其他技术。如何在磁盘上存储数...

1415
来自专栏州的先生

Python爬虫入门实战八:数据储存——MongoDB与MySQL

2313
来自专栏杨建荣的学习笔记

11g中关于控制文件自动备份的改进(r6笔记第22天)

在之前做一个测试演示的时候,使用的是11gR2的库,在说rman的备份配置的时候有一个功能时控制文件的自动备份, CONFIGURE CONTROLFILE ...

3394

扫码关注云+社区