linux查找指定目录下指定文件包含的内容

21 篇文章 1 订阅

这个问题我面试遇到了两次,都是大公司的,挂了,哎,刚刚看到了,做个记录:

参考:https://www.cnblogs.com/xiangsj/p/9065336.html

//.点为查找当前目录 下 的 所有 *.php 文件里 有 hello 的文件
find . -name "*.php" | xargs grep "hello"

//根目录
find / -name "*.php" | xargs grep "hello"

在按照每小时分割的日志文件里面找包含“NaN”的信息

// 日志文件每小时分隔,如2019.05.20.18, 2019.05.20.19等格式
find . -name "log.2019.05.20.*" | xargs grep "NaN"

xargs:  给其他命令传递参数的一个过滤器

Linux 中,可以使用 `grep` 命令在指定目录查找文件内容。`grep` 命令可以在文件中搜索指定的字符串,并输出包含该字符串的行。 `grep` 命令的语法如下: ``` grep <options> <pattern> <file> ``` 其中,`<options>` 是一些选项,用于指定搜索的条件,`<pattern>` 是要搜索的字符串或正则表达式,`<file>` 是要搜索的文件名或通配符表达式。 以下是一些常用的选项: - `-r`,递归搜索指定目录下的所有子目录; - `-i`,忽略大小写; - `-n`,输出匹配行的行号; - `-w`,只匹配整个单词,而不是部分匹配。 以下是几个示例: 1. 在指定目录查找包含指定字符串的文件: ``` grep "search string" /path/to/directory/* ``` 在上面的命令中,`/path/to/directory` 是要查找目录路径,`"search string"` 是要查找的字符串。 2. 在指定目录下递归查找包含指定字符串的文件: ``` grep -r "search string" /path/to/directory/ ``` 在上面的命令中,`/path/to/directory` 是要查找目录路径,`-r` 表示递归搜索子目录。 3. 在指定目录查找包含指定正则表达式的文件: ``` grep -E "regex pattern" /path/to/directory/* ``` 在上面的命令中,`/path/to/directory` 是要查找目录路径,`-E` 表示使用正则表达式,`"regex pattern"` 是要查找的正则表达式。 通过以上示例,你应该可以在 Linux 中使用 `grep` 命令在指定目录查找文件内容了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值