linux - 查找包含文本但不包含第二个文本的文件

标签 linux file command-line grep

我正在寻找一种方法来查找包含“texta”但不包含“textb”的所有文件。

我尝试过类似的方法:

grep -Ri 'texta' * | grep -v 'textb' *

我对 Linux 命令行还很陌生。有办法让这个工作吗?

最佳答案

最后,这种方法应该有效:

grep "texta" * -Ril | while read file; do grep -qi "textb" "$file" || echo "$file"; done;

-l 选项仅打印出文件,-q 告诉 grep 保持安静。

关于linux - 查找包含文本但不包含第二个文本的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473577/

相关文章:

linux - 尝试理解Linux中非shell元字符的含义

php - 使用 PHP 命令行或 SSH 运行多个 PHP 文件

linux - 如何在Linux系统中创建/访问共享文件夹?

linux - 在启动之前将文件复制到 Docker 容器

regex - Mac 地址的 Grep 正则表达式

Java - 在 Windows 7 中通过命令行获取外部进程的 PID

windows - 检查特定文件中的更改,批处理未按预期工作

c# - 需要从空格分隔的字符串中的特定位置删除特定引号,同时保留其他引号

linux - 终止不响应 SIGINT、SIGQUIT 的终端连接进程

php - 了解php中下载文件的位置