grep -nr递归过滤文本时,如何忽略node_modules目录

在使用 grep -nr 递归过滤文本时,如果需要忽略 node_modules 目录,可以使用 --exclude-dir 参数,具体方法如下:


方法 1:使用 grep --exclude-dir

grep -nr "your_search_text" --exclude-dir=node_modules .
参数说明:
  • -n:显示匹配的行号。
  • -r:递归搜索子目录。
  • your_search_text:要搜索的文本内容。
  • --exclude-dir=node_modules:忽略 node_modules 目录。
  • .:表示从当前目录开始搜索。

示例

假设你想递归搜索包含 import 的内容,并忽略 node_modules 目录:

grep -nr "import" --exclude-dir=node_modules .

输出可能如下:

./src/app.js:12:import React from 'react';
./src/index.js:3:import App from './App';

node_modules 目录会被自动跳过。


方法 2:忽略多个目录

如果除了 node_modules,还有其他需要忽略的目录,可以这样使用:

grep -nr "your_search_text" --exclude-dir=node_modules --exclude-dir=dist .

这里忽略了 node_modulesdist 目录。


方法 3:使用正则表达式匹配更多目录

如果需要忽略目录名称中包含某些关键词的所有目录(如 node_modulesbuild 等),可以结合正则表达式:

grep -nr "your_search_text" --exclude-dir={node_modules,build,dist} .

方法 4:结合 findgrep

如果你遇到 grep 版本不支持 --exclude-dir 的情况,可以使用 findgrep 的组合:

find . -type f -not -path "*/node_modules/*" -exec grep -n "your_search_text" {} +
参数说明:
  • find . -type f:查找所有文件。
  • -not -path "*/node_modules/*":排除路径中包含 node_modules 的文件。
  • -exec grep -n "your_search_text" {} +:对找到的文件执行 grep

方法 5:使用 rg(ripgrep,推荐)

rggrep 的更快替代工具,默认会忽略常见目录(如 node_modules)。你可以直接运行以下命令:

rg "your_search_text"

如果你需要明确忽略 node_modules 目录,也可以使用:

rg "your_search_text" --glob "!node_modules"

总结

  • 简单需求:使用 grep --exclude-dir=node_modules
  • 更复杂需求:使用 findgrep
  • 推荐工具:使用 rg(更快、更强大)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 3 文件下载、多文件下载以及大文件分片下载、文件流处理、批量操作 和 分片技术

在 Spring Boot 3 中,实现文件下载、多文件下载以及大文件分片下载需要结合以下功能:文件流处理、批量操作 和 分片技术。以下是详细实现方案: 1. 单文件下载 基础的单文件下载实现,可以参考以下代码: GetMapping(&…

系统架构风险、敏感点和权衡点的理解

系统架构是软件开发过程中的关键环节,它决定了系统的可扩展性、稳定性、安全性和其他关键质量属性。然而,架构设计并非易事,其中涉及的风险、敏感点和权衡点需要仔细考虑和处理。本文将详细探讨系统架构风险、敏感点和权衡点的概念&#xff0…

locate() 在MySQL中的用法

语法: 在MySQL中,LOCATE() 是一个字符串函数,用于返回一个子字符串在另一个字符串中第一次出现的位置。如果子字符串不存在,则返回0。这个函数的语法如下: LOCATE(substring, string[, start])substring:…

智能电话机器人优势是什么

在当今数字化转型加速的背景下,智能电话机器人(IVR)作为客户服务和业务流程优化的重要工具,正逐渐成为企业提升运营效率和服务质量的关键组成部分。 提高服务效率与响应速度 智能电话机器人能够自动处理大量重复性的查询和事务&…

leetcode热题100(79. 单词搜索)dfs回溯 c++

链接:79. 单词搜索 - 力扣(LeetCode) 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的…

安全运营 -- splunk restapi 最小权限

0x00 背景 最小化权限原则,为每个功能,每个账户分配最小的权限。 0x01 实践 只需要7个 capability: Youll need to add certain capabilities to that user or that userss role(s).[capability::rest_apps_management] * Lets a user edit settings …

C++ 设计模式:备忘录模式(Memento Pattern)

链接:C 设计模式 链接:C 设计模式 - 状态模式 备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。这个模式在需要保存和恢复对象状态的场景中非常有用&#xff…

用PicGo向Github图床上传图片,然后通过markdown语言显示图片

目录 下载PicGo软件图床GitHub设置在Markdown中使用图片 下载PicGo软件 先进入Pic官网,然后点击下图中的免费下载 然后点击下载下图中PicGo-Setup-2.4.0-beta.9.exe这个可执行软件 图床GitHub设置 点击PicGo中的图床设置,再点击其中的Github&#xff…

鸿蒙开发:实现键值数据库存储

前言 鸿蒙当中数据持久化存储,为我们提供了多种的实现方式,比如用户首选项方式,关系型数据库方式,键值型数据库方式,文件存储方式等等,对于数据量比较的小的,我们直接选择轻量级的用户首选项方式…

bilibili 哔哩哔哩小游戏SDK接入

小游戏的文档 简介 bilibili小游戏bilibili小游戏具有便捷、轻量、免安装的特点。游戏包由云端托管,在哔哩哔哩APP内投放和运行,体验流畅,安全可靠。https://miniapp.bilibili.com/small-game-doc/guide/intro/ 没想过接入这个sdk比ios还难…

Spring Cloud Alibaba2022之Sentinel总结

Spring Cloud Alibaba2022之Sentinel学习 Sentinel介绍 Sentinel是一个面向云原生微服务的流量控制、熔断降级组件。 Sentinel 分为两个部分: 核心库:(Java 客户端)不依赖任何框架/库,能够运行于所有 Java运行时环 …

Leetcode 1254 Number of Closed Islands + Leetcode 1020 Number of Enclaves

Leetcode 1254 题意 给定一个m*n的矩阵含有0和1,1代表水,0代表陆地,岛屿是陆地的集合,如果一个岛屿和四个方向的边界相连,则不算封闭岛屿。求有多少个封闭的岛屿。 题目链接 https://leetcode.com/problems/number…

分布式消息队列RocketMQ

一、RocketMQ概述 1.1 MQ 概述 MQ,Message Queue,是一种提供消息队列服务的中间件,也成为消息中间件,是一套提供了消息生产、存储、消费全过程API的软件系统。消息即数据 1.2 MQ 用途 MQ的用途总结起来可分为以下三点 限流削峰…

HarmonyOS:删除多层ForEach循环渲染的复杂数据而导致的一系列问题

目录 1.页面效果及需求 2.遇到问题时的初始代码及问题 代码 问题 3.状态变化不能深层监听? 解答 4.使用了ObjectLink装饰器后为什么数据仍然无法被监听? Demo 结论 代码修改 5.子组件中定义一个箭头函数,在父组件中通过this.传入方…

leecode188.买卖股票的最佳时机IV

这道题目我在买卖股票III就已经得出规律了&#xff0c;具体可看买卖股票的最佳时机||| class Solution { public:int maxProfit(int k, vector<int>& prices) {int nprices.size();vector<vector<int>> dp(n,vector<int>(2*k1,0));for(int j1;j&l…

如何通过深度学习提升大分辨率图像预测准确率?

随着科技的不断进步&#xff0c;图像处理在各个领域的应用日益广泛&#xff0c;特别是在医疗影像、卫星遥感、自动驾驶、安防监控等领域中&#xff0c;大分辨率图像的使用已经成为了一项不可或缺的技术。然而&#xff0c;大分辨率图像带来了巨大的计算和存储压力&#xff0c;同…

探索电商数据:爬取不同平台商品信息的Python实践

在数字化时代&#xff0c;电商平台的商品信息成为了宝贵的数据资源。除了亚马逊&#xff0c;全球还有许多电商平台的商品信息值得爬取。本文将介绍几个值得关注的电商平台&#xff0c;并提供Python代码示例&#xff0c;展示如何爬取这些平台的商品信息。 1. 京东 (JD.com) 京…

数据结构与算法学习笔记----欧拉函数

数据结构与算法学习笔记----欧拉函数 author: 明月清了个风 first publish time: 2025.1.1 ps⭐️欧拉函数的定义及求法&#xff0c;第二题是在线性筛法的过程中维护欧拉函数。 欧拉函数 通常用符号 φ ( n ) \varphi(n) φ(n)表示&#xff0c;定义为小于或等于 n n n且与 n…

软件测试之非功能测试设计

非功能测试设计 非功能:除了软件功能测试&#xff0c;其他都是非功能测试。 1.兼容 2.易用 3.性能(专项) 4.安全(专项) Web浏览器 兼容:Chrome浏览器、Edge浏览器、Firefox浏览器、Safari苹果浏览器 易用:参考竞品&#xff0c;主观感受为主 总结 1.非功能测试范围 兼容性、…

【Spring Boot】SpringBoot自动装配-Import

目录 一、前言二、 定义三、使用说明 3.1 创建项目 3.1.1 导入依赖3.1.2 创建User类 3.2 测试导入Bean 3.2.1 修改启动类 3.3 测试导入配置类 3.3.1 创建UserConfig类3.3.2 修改启动类 3.4 测试导入ImportSelector 3.4.1 创建UseImportSelector类3.4.2 修改启动类3.4.3 启动测试…