如何使用 grep 在 Linux 上仅显示文件名?[关闭]

2024-10-14 08:40:00
admin
原创
281
摘要:问题描述:如何在 Linux 上使用grep仅显示文件名(无内联匹配)?我通常使用类似的东西:find . -iname "*php" -exec grep -H myString {} ; 我怎样才能只获取文件名(带路径),而不获取匹配项?我必须使用xargs吗?我在 g...

问题描述:

如何在 Linux 上使用grep仅显示文件名(无内联匹配)?

我通常使用类似的东西:

find . -iname "*php" -exec grep -H myString {} ;

我怎样才能只获取文件名(带路径),而不获取匹配项?我必须使用xargs吗?我在 grep 手册页上没有看到执行此操作的方法。


解决方案 1:

标准选项grep -l(小写的 L)可以做到这一点。

来自Unix 标准:

-l
    (The letter ell.) Write only the names of files containing selected
    lines to standard output. Pathnames are written once per file searched.
    If the standard input is searched, a pathname of (standard input) will
    be written, in the POSIX locale. In other locales, standard input may be
    replaced by something more appropriate in those locales.

在这种情况下您也不需要-H

解决方案 2:

grep(1)手册页中:

  -l, --files-with-matches
          Suppress  normal  output;  instead  print the name of each input
          file from which output would normally have  been  printed.   The
          scanning  will  stop  on  the  first match.  (-l is specified by
          POSIX.)

解决方案 3:

对于简单的文件搜索,您可以使用 grep-l-r选项:

grep -rl "mystring"

所有的搜索都是由 grep 完成的。当然,如果你需要根据其他参数选择文件,find是正确的解决方案:

find . -iname "*.php" -execdir grep -l "mystring" {} +

execdir选项为每个目录构建每个 grep 命令,并将文件名连接成仅一个命令(+)。

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1314  
  随着数字化时代的飞速发展,企业数据成为了核心资产,其安全性至关重要。信创国产电脑作为保障数据安全的关键一环,正逐渐在企业中得到广泛应用。信创国产电脑基于自主研发的技术体系,从硬件到软件都致力于构建安全可靠的环境,为企业数据安全保驾护航。接下来,我们将深入探讨信创国产电脑如何在多个层面提升企业数据安全性。硬件层面的安全保...
什么是信创概念   4  
  随着信息技术的飞速发展,电脑作为重要的办公和生产工具,其性能对于用户的工作效率和体验有着至关重要的影响。在当前信创产业蓬勃发展的背景下,国产电脑逐渐崛起,与进口品牌电脑形成了激烈的竞争态势。了解信创国产电脑与进口品牌在性能方面的差异,对于企业和个人在选择电脑设备时具有重要的指导意义。处理器性能对比处理器是电脑的核心组件...
国产化信创什么意思   3  
  信创国产化适配方案在当前数字化时代具有极其重要的意义。随着全球政治经济形势的变化以及信息技术的飞速发展,实现信息技术的自主可控成为国家和企业的关键需求。信创国产化适配方案旨在将各类信息技术产品和服务进行国产化替代,降低对国外技术的依赖,保障信息安全,推动国内信息技术产业的发展。这不仅关乎国家的信息安全战略,也为国内相关...
信创电脑   4  
  信创国产化操作系统的兴起,是我国信息技术产业发展历程中的一个重要里程碑。随着全球科技竞争的日益激烈,实现信息技术的自主可控成为国家战略的关键部分。国产化操作系统作为信创产业的核心基础,其发展不仅关乎操作系统本身的技术突破,更对整个软件生态产生了深远影响。从底层架构的变革到应用开发模式的转变,从软件企业的发展策略调整到用...
信创国产软件有哪些   1  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用