grep in Windows

GnuWin32:在Windows上无缝使用Linux命令行工具 命令行工具是开发者和系统管理员进行高效文本处理、文件操作和自动化任务的核心手段。在Linux环境中,grep、sed、awk等工具凭借其强大的管道和流处理能力,成为数据处理和脚本编写的基石。这些工具遵循Unix哲学,通过组合简单命令完成复杂任务,极大地提升了工程效率。在Windows平台上,虽然PowerShell功能强大,但许多开发者更熟悉Linux命令语法,且已有大量脚本基于此生态。GnuWin32项目正是为了解决这一痛点,它将上百个经典的GNU/Linux命令行工具以原生Windows可执行程序的形式 阅读详情


转载地址:http://blog.youkuaiyun.com/hatecode/article/details/1507370

总结一下Windows用grep命令的方法:

0.       下载并安装 unxutils.exe (http://gnuwin.epfl.ch/apps/unxutils/en/index.html)即可在cmd里使用grep。基本满足我的需求。
1.       安装并配置Cygwin (http://www.cygwin.com),在选择安装组件的时候选中grep即可。安装完成后,记得把<path>/Cygwin/bin目录添加至PATH变量。
2.       第三方厂商为Windows平台开发的grep:PowerGREP (http://www.powergrep.com)或Windows Grep (http://www.wingrep.com)。收费的,找破解麻烦~

转一篇: 介绍一款强大的文档搜索工具——grep

在我平时比较喜欢去的网站之中,GNU (http://www.gnu.org)是其中之一。其中的FSF/UNESCO Free Software Directory (http://www.gnu.org/directory/)就像一个深不见底的宝库,蕴藏了无以计数的优秀软件,其中有些软件已经成为我日常开发过程中不可或缺的利器,例如Emacs、grep等,今天我想给大家介绍的就是grep (Global Regular ExPression)——一款极其强大的文档搜索工具。

 
在Grep的首页上(http://www.gnu.org/software/grep),关于grep的介绍只有这么简单的一句:
 
Grep searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines.
 
简单说来,你可以用grep来查找位于某个文件中的某个字符串,并可以控制结果显示。在阅读源代码时,grep几乎是必不可少的工具。通过它你可以非常快速地找到一个大型项目的入口,并能轻松地在海量源代码之间找到你所需的函数或变量。
 
下面我来举个简单的例子:我想查询所有位于当前目录下的.cs文件中的Main,通过grep我可以轻松快速地完成这项任务,命令如下:
 
grep ‘Main’ *.cs
 
我机器上的示例输出结果为:
 
ChineseDemo.cs:    public static void Main()
RegDemo1.cs:      static void Main(string[] args)
RegDemo2.cs:    public static void Main()
RegDemo3.cs:    public static void Main()
 
可见,通过grep真的可以找到相关目录中符合条件的所有文件,并能打印出查询到的字符串所位于的那行内容。如果我只想确定哪些文件含有Main,而不需打印相应行的内容,那么可以使用以下命令:
 
grep –l ‘Main’ *.cs
 
输出结果为:
 
ChineseDemo.cs
RegDemo1.cs
RegDemo2.cs
RegDemo3.cs
 
只有相应的文件名称被显示。
 
在找到了含有Main字符串的几个文件后,我想粗略地查看某一具体文件的里源代码的相关信息,比如查看RegDemo1.cs文件中含有Main这一行的前后三行,相关的命令如下:
 
grep –C 3 ‘Main’ RegDemo1.cs
 
输出结果为:
 
 
class GroupingApp
 {
      static void Main(string[] args)
      {
          Reg7();
      }
 
输出结果完全符合我的需求,static void Main(string[] args)这一行前后三行范围内的所有代码被全部打印出来(第一行是空行)。
 
以上的查询字符串没有对查找结果是否为一个完整的单词进行限制,也就是说TheMain和Main_Func都会被认定为查询目标。如果我想限定该查询字符串为一个完整单词,那么可以使用/w参数,相关命令如下:
 
grep –w ‘Main’ *.cs
 
结果为:
 
ChineseDemo.cs:    public static void Main()
RegDemo1.cs:      static void Main(string[] args)
RegDemo2.cs:    public static void Main()
RegDemo3.cs:    public static void Main()
 
注意:Main后面的开始括号不会被grep内嵌的正则表达式处理引擎认定为单词。
 
以上的查询只是基于单个字符串的简单查询,grep最强大之处就是可以直接使用正则表达式,从而可以完成极尽复杂的各种查询操作。比如下面的这个简单命令就是查询所有当前目录下.cs文件中的以arg开头的字符串:
 
grep –e ‘arg[/S]*’ *.cs
 
输出结果为:
 
RegDemo.cs:      private string arg;
RegDemo.cs:      public static void Main(string[] args)
RegDemo.cs:          foreach(string arg in args)
RegDemo.cs:              Console.WriteLine(arg);
RegDemo1.cs:      static void Main(string[] args)
 
OK,关于grep的使用方法就先简单介绍到这里。大家如果感兴趣可以到grep的主页(http://www.gnu.org/software/grep/)去查找相关文档,也可以到GNU ftp (ftp://ftp.gnu.org/gnu/grep/) 去下载源代码并编译,目前最新版本为2.5。不过,对于大多数Windows开发人员来说,机器上可能并没有相应的make环境,因此可能要换用以下两种方法来实现:
 
1.       安装并配置Cygwin (http://www.cygwin.com),在选择安装组件的时候选中grep即可。安装完成后,记得把<path>/Cygwin/bin目录添加至PATH变量。我所采用的就是这种方法,配置后我可以很方便地在Emacs或cmd里使用grep。
2.       下载并安装第三方厂商为Windows平台开发的grep。目前我所知道的有两款:PowerGREP (http://www.powergrep.com)和Windows Grep (http://www.wingrep.com)。这两款工具我并未用过,大家可以查看相应的文档以决定是否使用。
windows下grep的安装与使用 安装: windows下是不包含这个组件,只能自行下载安装,我看了网上的几篇文章,大部分是先下载的zip版的,解压。实际上对于不熟悉的还是下载安装版比较合适,网址如下: Grep for Windows 打开网址如后如下: 个人建议还是下载上图标注上的连接,会下载一个grep-2.54-setup.exe ,当然版本号不一定完全一样,只要是一个exe文件就可以了。 保存,安装到默认目录就可以了,要记住你要安装的目录。 比如我的目录如下: C:\Program Files (x86).. 阅读详情

相关推荐

windows-cmd-linux-grep等命令扩充

扩充windows下cmd的命令行,完全兼容linux上命令行模式;下载完毕后,解压;然后配置到环境变量中

windows cmd命令行findstr 类似linux中的grep

使用截图 简介 findstr是Window系统自带的命令,用途是查找指定的一个或多个文件文件中包含(或通过参数 /V来控制不包含)某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。 ...

石宗昊的博客 5310

STM32串口调试踩坑记:HAL_UART_ErrorCallback里不先解锁,你的中断接收就废了

本文深入分析了STM32串口调试中HAL_UART_ErrorCallback的锁机制陷阱,指出在错误回调中不先解锁会导致中断接收失效的问题。通过解析HAL库源码,提出了正确的错误处理实现方法,并分享了预防措施与最佳实践,帮助开发者提升串口通信的可靠性。

weixin_33733810的博客 512

grep 常用命令

grep命令是linux中一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 在一个或多个文件中搜素字符串模式,如果字符串模式包括空格,也必须被引用,模式后的所有字符串被看作文件名。搜索的结果被送到标准输出(stdout),不影响原文件内容。 grep也可以用于shell脚本,因为grep通过返回一个状态值来说明搜索的结果,如果模式搜索成功,则返回0;如果搜索不成功,则返回1;如果搜索的文件不存在,则返回2;我们利用这些返回值就可以进行一些自动化的文本处理工作。

yuezhilangniao的博客 1349

Bugku中的source

进入环境后 我们首先查看源码可以得到一个flag 这肯定是个假的(已经提交过了确实是个假的) 题目提示要用Linux 这里使用的是kali 我们首先dirsearch一下这个网站 可以看到有.git文件泄露 也可以点开那个链接但是在里面没有找到flag 然后选择下载这个.git文件 然后进入这个文件夹 输入git reflog查看文件状态 可以看到有四个都有flag is here 一个一个查看git show 然后在40c6d51中发现了我们需要的fl

A272036149的博客 1011

weblogic 集群搭建,双机部署,相关问题记录

4.5.集群搭建1 参考网址https://wenku.baidu.com/view/76365129cd1755270722192e453610661ed95aa4.html IP地址 端口 角色 192.168.1.160 9001 AdminServer ...

zl386119974的专栏 1669

CMD命令

 CMD命令  net use ipipc$ " " /user:" " 建立IPC空链接  net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接  net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:  net use h: ipc$ 登陆后映射对方C:到本地为H:  net use ipipc$

To be better everyday 1万+

【NLG】(六)文本生成评价指标—— ROUGE原理及代码示例

前奏: 【NLG】(一)文本生成评价指标——BLEU原理及代码示例 【NLG】(二)文本生成评价指标—— METEOR原理及代码示例 【NLG】(三)文本生成评价指标—— ENTROPY原理及代码示例 【NLG】(四)文本生成评价指标—— diversity原理及代码示例 【NLG】(五)文本生成评价指标—— kl_divergence原理及代码示例 1.ROUGE原理 2.优缺点 3.如何算ROUGE ...

凝眸伏笔的博客 1万+

windows grep 安装及使用

1)下载地址:2)选择这个包下载:3) 将D:\Program Files (x86)\GnuWin32\bin目录 加入系统变量:

EveryDayOneHour的博客 1998

瑞萨单片机-硬件I2C从设备

瑞萨单片机上实现I2C从机,根据主机发来的数据,从机返回或者保存数据2、R5F1115AxFL最多支持3个从设备地址(即可以作为三个从设备)3、从接收模式:直接将数据保存到RAM中,接收完再处理4、从发送模式:按照I2C读取传感器数据经验,主机读取从设备时,从设备需要立刻返回数据的,但是程序要如何实现一收到指令就返回特定的数据?(时钟拉伸)这里先跳过,我们先实现返回固定的数据。

qq_27893147的博客 3220

RK3588+TRL8367s四网口千兆交换机硬件调试与DTS配置实战

本文详细介绍了基于RK3588处理器与RTL8367S交换机芯片构建四网口千兆交换设备的硬件调试与DTS配置实战。文章深入对比了MDIO与SMI两种通讯方式的配置差异,提供了详尽的设备树代码示例,并总结了常见问题的排查思路,旨在帮助开发者高效完成嵌入式网络设备的软硬件集成与调试工作。

weixin_28308325的博客 468

Re: Emacs grep Problem in Windows

Hi, Xah Lee, Here below are some results of my experiments on "Emacs grep Problem in Windows". (As I didn't find your email address on http://xahlee.org, and I think some others might be also inter...

weixin_34111790的博客 136

射频仿真软件:ADS (Advanced Design System)_(29).ADS脚本编程与自动化

ADS脚本编程为射频设计提供了强大的自动化工具,可以帮助用户实现设计流程的优化、参数扫描和优化、结果分析和报告生成等任务。选择合适的脚本语言(Python、Tcl、AEL)并合理设置ADS环境,可以显著提高设计效率和准确性。通过实际项目中的应用案例,我们可以更好地理解如何利用脚本编程解决复杂的射频设计问题。希望本文对您的ADS脚本编程学习有所帮助。

kkchenjj的博客 2469

busybox-w32文本处理工具深度解析:grep、sed、awk在Windows上的应用

🚀 **busybox-w32文本处理工具** 为Windows用户带来了Linux环境下强大的命令行文本处理能力!作为**BusyBox的Windows原生移植版本**,busybox-w32将经典的Unix工具链完整地带到了Windows平台,让开发者和管理员能够在Windows系统中享受与Linux一致的文本处理体验。 ## 什么是busybox-w32? 📦 **busybox-w

gitblog_00098的博客 998

链接文件及功能安全:基于Tasking的LSL链接文件知识点梳理及实际应用分析

本文旨在记录研究链接文件时所遇到的问题及个人理解,以便日后查阅。在探索过程中,我遇到了诸多问题,同时对链接文件有了初步的认识。通过记录这些问题与理解,我希望能够为后续的研究提供清晰的思路和有价值的参考。这不仅是对研究过程的总结,更是对未来学习和实践的有力支持。

梦想技术家 1103

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

PyTorch 报 “Expected all tensors to be on the same device“ 设备不匹配错误怎么排查?

在 pytorch-deep-learning 课程材料(Learn PyTorch for Deep Learning: Zero to Mastery 的课程仓库)里,`RuntimeError: Expected all tensors to be on the same device` 被列为 PyTorch 三大常见用户错误之一(shape 错误、device 错误、datatype 错

gitblog_01149的博客 727

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

三剑客grep awk sed 命令

grep 主要用于搜索 grep -x 对整个文件所有行全匹配才会输出 grep -w 文件有一行即可 grep -E 扩展正则 grep -e patten多个选项 grep -F 忽略正则 grep -l 列出文件名 grep -v 取反 grep -i 忽略大小写 grep -z 应该含义是忽略换行符,整个文件文本一体 a data line ends in 0 byte, not newl...

平凡者的专栏 430

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Grep与Glob:从命令行到AI Agent,构建高效文件检索与文本挖掘工作流

在数据处理与系统运维领域,文件检索与文本挖掘是基础且核心的技术需求。其原理在于通过模式匹配算法,在海量文件中快速定位目标内容,从而极大提升工作效率与准确性。这一技术价值体现在自动化处理、日志分析、代码审查及数据清洗等多个场景,是现代开发、运维乃至AI应用数据预处理不可或缺的环节。本文聚焦于实现高效检索的两大经典工具:Grep与Glob。Grep作为文本搜索引擎,其强大之处在于支持正则表达式,能够进行复杂的模式匹配与内容过滤;而Glob则是一种用于匹配文件路径名的模式语言,决定了搜索的范围与目标文件集合。掌握

weixin_30407613的博客 376

busybox-w32与原生Windows命令对比:为什么选择这个Unix工具集

在Windows系统中,命令行工具一直是开发者和系统管理员的重要帮手。然而原生的`cmd.exe`和PowerShell在功能丰富度和Unix兼容性方面存在局限。**busybox-w32**作为Windows原生端口的BusyBox工具集,整合了上百个Unix实用工具,为Windows用户带来了前所未有的命令行体验。本文将深入对比busybox-w32与Windows原生命令的核心差异,揭示为什

gitblog_00131的博客 1210

widows环境 下使用python开发的仿照Linux的grep的能力

这样就可以全局调用 但是如果你直接调用脚本的话 系统是会直接打开这个文件的不是运行需要你在新建一个bat脚本。自己使用python语言开发了一个仿照Linux环境下搜索大文本的工具。就是把你这个文件的当前目录放到系统环境下的Path参数里。也可以把这个能力安装到windows全局下,全局调用。在任何地方都可以直接调用了。

夜空繁星VV 261

AI Agent文件检索:Grep与Glob原理、优化与实战应用

在AI Agent开发中,文件检索是感知物理世界的关键能力,如同为智能体配备“眼睛”。其核心原理基于经典的Unix工具组合:Glob通过通配符模式匹配快速筛选文件路径,实现广度搜索;Grep则利用正则表达式对文件内容进行深度模式匹配,实现精准定位。这种“先广度后深度”的管道化工作流,构成了Agent处理本地知识库、日志分析、配置管理等操作的高效基础。在工程实践中,通过并发处理、轻量级索引和缓存策略可优化性能,而将其封装为可复用的技能(Skill)则能无缝集成到LangChain等Agent框架中。对于日志监

weixin_34228387的博客 466

告别走马观碑:高效文本处理实战,从grep到Python脚本

在数据处理和系统运维中,文本处理是一项基础且高频的需求,其核心在于对海量非结构化信息进行快速过滤与精准提取。正则表达式是实现模式匹配的关键技术,它通过定义字符序列的搜索模式,为自动化文本分析提供了强大支持。掌握正则表达式与流式处理技术,能极大提升日志分析、数据清洗和系统监控的效率,是工程师处理日常任务的必备技能。本文聚焦于日志分析这一典型应用场景,通过结合grep、awk等命令行工具与Python脚本,详细演示了如何从快速浏览到深度解析,构建一套完整的文本处理工作流,帮助开发者高效应对海量日志文件,避免关键

359

lark-cli Drive 权限治理 Command Patterns 实战指南:从目标解析到写前确认的完整命令链路

> 本文以 [skills/lark-drive/references/lark-drive-workflow-permission-governance-commands.md](https://link.gitcode.com/i/b3f90fab7245f17ba8e4296babcb9613) 为骨架,围绕 `permission_governance` workflow 的 `lark-

gitblog_00066的博客 425

log search tool in windows

tool

Z17839935459的博客 223
上一篇: http://hi.baidu.com/_yuan0518/item/1a2a5fe7e8b695f3e0a5d4be
下一篇: linux 下文件加密压缩和解压的方法
July_Yang
博客等级 码龄15年 46粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值