当前位置: 首页 > 面试题库 >

在Linux系统上找到所有与“名称”匹配的文件,并在其中搜索“文本”

叶翰林
2023-03-14
问题内容

我需要在linux系统上找到’filename.ext’的所有实例,并查看哪些实例包含文本’lookfor’。

有一套可以使用的linux命令行操作吗?


问题答案:
find / -type f -name filename.ext -exec grep -l 'lookingfor' {} +

使用a
+来终止命令比\;因为find将整批文件grep发送到而不是一个一个地发送文件来效率更高。这样可以避免为找到的每个单个文件派生/执行。

不久前,我做了一些测试以比较xargsvs {} +vs 的性能,{} \;发现{} +速度更快。这是我的一些结果:

time find . -name "*20090430*" -exec touch {} +
real    0m31.98s
user    0m0.06s
sys     0m0.49s

time find . -name "*20090430*" | xargs touch
real    1m8.81s
user    0m0.13s
sys     0m1.07s

time find . -name "*20090430*" -exec touch {} \;
real    1m42.53s
user    0m0.17s
sys     0m2.42s


 类似资料:
  • 我是Android新手,请帮帮我, 所以我在这里添加了我的风格

  • 我在WSL中使用Ubuntu环境中的python编写了一个脚本。 我在Windows中下载了Firebase的私钥“ServiceAccountKey.json”,然后将其移动到我在WSL中的工作目录中。(使用'mv mnt/c/users/yiu/downloads/serviceaccountkey.json~/projects/scrape')。现在,我正试图将该文件传递给Certifica

  • 本文向大家介绍如何在Linux上递归搜索所有文件中的字符串,包括了如何在Linux上递归搜索所有文件中的字符串的使用技巧和注意事项,需要的朋友参考一下 的grep命令用于搜索文本或扫描包含匹配到给定的字符串或单词行给定记录。使用grep搜索与一个或多个正则表达式匹配的文本行,并仅输出匹配的行。使用grep命令,我们可以在Linux上递归地在所有文件中搜索字符串。 的语法如下所示- 例如,在“下载”

  • 我试图得到我的罐子的父文件夹,并通过它一路搜索。原因是我正在修改构建路径中jar下面的所有. class文件(它下面有一堆jar)。 我目前在dir上获得NPE。searchForClasses方法中的listFiles(),原因是当我创建文件的新实例时,它不是正确的路径。(我相信) 我目前有: 这就是我用来尝试获取父文件的方法: 有人对我能换什么有什么想法吗?

  • 问题内容: 我正在寻找将某些字符串搜索到某些文件夹结构中的最快方法。我知道可以使用file_get_contents从文件中获取所有内容,但是我不确定是否很快。也许已经有一些可以快速运行的解决方案。我正在考虑使用scandir获取所有文件,并使用file_get_contents读取其内容,并使用strpos来检查字符串是否存在。 您认为这样做有更好的方法吗? 或者也许试图与grep一起使用php

  • 问题内容: 我在Linux机器上有一个项目,其中包含带有在Windows中被认为是非法/保留的字符的文件(http://msdn.microsoft.com/zh- cn/library/aa365247%28VS.85%29.aspx )。该项目在多个文件夹中有10,000多个文件,我将确定这些文件的路径。 我可以为每个非法/保留字符,但是有一种更简单的方法来查找包含以下内容的所有文件 确定后,