我喜欢使用 grep 但有时我只想在目录树中搜索文件的名称,但不希望 grep 打开文件并在其中搜索。grep 可以这样做吗?
现在我正在使用这样的东西:
find . -name "*.xml" | xargs grep -l "foobar"
它有效,但我想知道 grep 是否内置了此功能?
我有一个 PHP 应用程序,它在日志文件中生成大量警告和通知。
我正在一次修复这些。
我希望能够首先修复最常发生的问题,以便最大限度地提高我的更改对日志文件大小的影响。
如何使用 grep/sed/regex 等找出最频繁出现的通知?
我无法比较整行,因为时间戳在开头,但也许是“在线…… ”的列表/分组/排序?
我有一个大约有 300 个虚拟主机的服务器。当我想确保将特定的 httpd.conf 文件加载到虚拟主机配置中并且语法正确时,我运行apachectl -S. 但问题是,我得到了大量的输出。
我已经尝试apacectl -S | grep 'foo'并apachectl -S > foo.txt尝试使这些数据更易于管理,但是命令的输出不利于 grepping 或推送到文本文件中。
当我尝试时apachectl -S | grep 'foo',它只是返回apachectl -S.
当我尝试时apachectl -S > foo.txt, foo.txt 是一个空文件。
这可能与服务器的配置方式有关,因为我能够在本地计算机上成功 grep。
有什么建议?
我正在编写一个脚本来安装 Bash 程序。我想在出错时退出,所以我添加set -e到脚本的开头。
我必须检查我的脚本中是否存在用户。为此,我正在使用grep ^${USER}: /etc/passwd. 如果用户存在,则脚本正常运行。但是,如果用户不存在,则此命令将退出。如果发生后一种情况,我不想退出。相反,我想创建用户并继续我的安装。
使我的脚本继续运行的解决方案是什么?我试图将 的输出重定向grep到一个变量,但我仍然遇到同样的问题。
我有我想递归搜索的文本mydir/。我通常会输入grep -r "text to find" mydir/"但如果我想搜索除特定文件之外的所有文件,我会输入什么?
例如,我不想搜索文件“myfile.txt”,但它包含在目录中。
我会输入什么?
我通常grep word *在包含具有该词的文件的文件夹中使用。但是在这个文件夹中,我也有文件夹,它们下面有包含那个词的文件,请问这个问题的正确命令是什么?
谢谢
如何计算与 linux 命令返回的模式匹配的行数
我想要以 'foo' 开头返回的行数,所以如果我将输出通过管道传递给 grep 这会起作用吗?
cat | grep -c ^foo
Run Code Online (Sandbox Code Playgroud) 我有兴趣递归地搜索目录中的字符串以获取模式,然后将匹配的文件 cp 到目标目录。我以为我可以执行以下操作,但是对于 linux 的查找工具似乎没有意义:
find . -type f -exec grep -ilR "MY PATTERN" | xargs cp /dest/dir
有没有更好的方法来解决这个问题?或者一种甚至有效的方式将是一个坚实的开始。
我有很多文件已经定义了 SPF 记录
grep -i v=spf *.db
Run Code Online (Sandbox Code Playgroud)
/var/named/domain.com.db
domain.com. 14400 IN TXT "v=spf1 +a +mx +ip4:XXX.XXX.XXX.XXX ?all"
Run Code Online (Sandbox Code Playgroud)
并想查找所有没有 SPF 记录的文件。一些提示?