首页 > 系统相关 >在Linux中如何查找包含特定文本(字符串)的所有文件?

在Linux中如何查找包含特定文本(字符串)的所有文件?

时间:2023-10-07 20:58:49浏览次数:43  
标签:文件 grep -- pattern 查找 Linux exclude path 文本

内容来自 DOC https://q.houxu6.top/?s=在Linux中如何查找包含特定文本(字符串)的所有文件?

如何在文件内容中查找包含特定文本字符串的所有文件?

以下方法不起作用,似乎显示了系统中的每个文件。

find / -type f -exec grep -H 'text-to-find-here' {} \;


请执行以下操作:

grep -rnw '/path/to/somewhere/' -e 'pattern'

  • -r-R 是递归,
  • -n 是行号,并且
  • -w 表示匹配整个单词。
  • -l(小写 L)可以添加,只给出匹配文件的文件名。
  • -e 是在搜索期间使用的模式

除了这些,还可以使用 --exclude--include--exclude-dir 标志来高效搜索:

  • 这将仅搜索具有 .c 或 .h 扩展名的文件:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"

  • 这将排除搜索所有以 .o 结尾的文件:
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"

  • 对于目录,可以使用 --exclude-dir 参数排除一个或多个目录。例如,这将排除 dir1/dir2/ 以及所有匹配 *.dst/ 的目录:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/search/' -e "pattern"

这对我来说非常有效,几乎可以达到和您一样的目的。

有关更多选项,请参阅 man grep

标签:文件,grep,--,pattern,查找,Linux,exclude,path,文本
From: https://www.cnblogs.com/xiaomandujia/p/17747446.html

相关文章

  • Linux p1 VMware虚拟机网络连接三种模式
    VMware虚拟机网络连接三种模式:想自己记录笔记,但是完全写不出来啊,直接转载吧桥接模式:桥接模式,点击查看NAT模式:NAT模式,点击查看主机模式:主机模式,点击查看......
  • Linux基础使用
    Linux基础命令Linux目录结构Linux只有一个顶级目录,称之为:根目录出现在开头的/表示:根目录出现在后面的/表示:层次关系Windows系统有多个顶级目录,即各个盘符Linux命令Linux命令格式无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:command[-option][paramete......
  • Linux怎么切换目录
    目录切换cd命令:cd目录cd/           切换到根目录cd/usr        切换到根目录下的usr目录cd../          切换到上一级目录或者cd..cd~           切换到home目录cd-       ......
  • 【v2v迁移】Xen2kvm 迁移-linux篇
    迁移环境:源平台:华为FusionComputeV100R006C10SPC101目标平台:基于KVM虚拟化的云平台,本文以原生的libvirt为例虚拟机:centos7.6具体操作步骤:1、在源平台导出格式为ovf的磁盘镜像导出后,得到vhd文件:centos_xen-1.vhd。将该文件传输到一个装有libvirt和相关工具套件的Linux环境......
  • Linux下JDK的安装配置
    一、官网下载JDK1.8https://www.oracle.com/java/technologies/oracle-java-archive-downloads.htmlJDK1.8因为1.8是目前项目中用到最多的基本都是基于JDK1.8可以直接在虚拟机中的浏览器访问下载,但是尝试过的家人都知道,速度超级慢这里在Windows中下载jdk-8u371-linux-x64.ta......
  • VBA读取文本文件内容
    FunctionReadText(FileNameAsString)AsStringWithCreateObject("ADODB.Stream").Type=2.Mode=3.Open.LoadFromFileFileName.Charset="UTF-8"'根据需要也可以选择Unicode.Position......
  • Linux网络编程
    C++11新特性右值引用   减少无畏的深拷贝,使用间拷贝改变资源的所有权  把文件描述符设置为-1是为了重用数组里面的元素,现在我们用一整块的堆内存,就不用重用那个数组了线程池  手写线程和线程池的区别 需要自己创建和销毁在主线程里建立连接,在子线程通信,......
  • 六款Linux常用远程连接工具
    1、Xshell介绍:xshell是一个非常强大的安全终端模拟软件,它支持SSH1,SSH2,以及Windows平台的TELNET协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。(也是我目前使用的远程连接工具) 官网:www.netsarang.com2、secureCR......
  • linux终端
    shellecho$SHELL#查看现在使用的shellcat/etc/shells#查看系统已有的shellchsh-s/bin/zsh#更换默认终端,需要重新登录zshzsh的一个配置设置sudoaptinstallzshautojumpsudoaptinstallautojumpj--stat#查看已记录的路径和权重jxxx#......
  • 学习《Linux基础入门》重点前8节--命令汇总笔记
    2023-2024-120232313《Linux基础入门》学习总结作业信息这个作业属于哪个课程2023-2024-1网络空间安全这个作业要求在哪里掌握Linux基本命令,安装虚拟机这个作业的目标掌握Linux基本命令作业正文https://www.cnblogs.com/kitaikuyo/p/17746596.html教材......