linux 文件中搜索字符串命令 grep

用‘grep’搜索文本文件 
如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。
假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:


$ grep magic /usr/src/linux/Documentation/* 
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key? 


其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。


默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:


grep: sound: Is a directory 


这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:


明确要求搜索子目录:grep -r 
或忽略子目录:grep -d skip 
当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:


$ grep magic /usr/src/linux/Documentation/* | less


这样,您就可以更方便地阅读。


有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 <CTRL c> ,然后再试。


下面是一些有意思的命令行参数:


grep -i pattern files :不区分大小写地搜索。默认情况区分大小写, 
grep -l pattern files :只列出匹配的文件名, 
grep -L pattern files :列出不匹配的文件名, 
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’), 
grep -C number pattern files :匹配的上下文分别显示[number]行, 
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, 
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。 
这里还有些用于搜索的特殊符号:


\< 和 \> 分别标注单词的开始与结尾。
例如: 
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等, 
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’, 
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。 
'^':指匹配的字符串在行首, 
'$':指匹配的字符串在行尾, 
如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。

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

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

相关文章

贝尔曲线测试网站

https://cubic-bezier.com/#.07,.68,.21,.98 手捏贝尔参数

Webpack基础之输出

输出(Output) output 选项控制 webpack 如何向硬盘写入编译文件。注意&#xff0c;即使可以存在多个入口起点&#xff0c;但只指定一个输出配置 用法(Usage)&#xff1a; 在 webpack 中配置 output 属性的最低要求是&#xff0c;将它的值设置为一个对象&#xff0c;包括以下…

[見好就收]NET 2.0 - WinForm Control - DataGridView 编程36计

原文:http://blog.csdn.net/fangxinggood/archive/2007/04/11/1561011.aspx#A1NET 2.0 - WinForm Control - DataGridView 编程36计&#xff08;一&#xff09;目录&#xff1a; ① 取得或者修改当前单元格的内容 ② 设定单元格只读 ③ 不显示最下面的新行 ④ 判断新增行 ⑤…

Taro+react开发(25)三元

//disabledtrue就会执行第一个条件 checkedtrue执行第二个条件否则第三个 点击触发change 事件<View className{"check-box"} onClick{this.handleChange}>{disabled ? (<Image src{SelectedDisabledIcon} />) : checked ? (<Image src{SelectedI…

gcc -D选项的作用

gcc -D选项在man中的说明如下&#xff1a; -D name Predefine name as a macro, with definition 1. -D namedefinition The contents of definition are tokenized and processed as if they appeared during translation phase th…

Webpack基础之加载器

加载器(Loaders)&#xff1a; loader 是对应用程序中资源文件进行转换。它们是&#xff08;运行在 Node.js 中的&#xff09;函数&#xff0c;可以将资源文件作为参数的来源&#xff0c;然后返回新的资源文件 示例&#xff1a; 例如&#xff0c;你可以使用 loader 告诉 webp…

移动端实现hover效果

document.body.addEventListener(‘touchstart’, function(){ });加上这行代码&#xff0c;空函数就行 然后&#xff1a;hover改成&#xff1a;active&#xff0c;实现PC端hover效果

历届试题 兰顿蚂蚁

http://lx.lanqiao.org/problem.page?gpidT125 历届试题 兰顿蚂蚁 时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB问题描述兰顿蚂蚁&#xff0c;是于1986年&#xff0c;由克里斯兰顿提出来的&#xff0c;属于细胞自动机的一种。平面上的正方形格子被填上黑色或白色…

Taro+react开发(26)taro基本骨架

import Taro, { Component } from "tarojs/taro";class companyTitle extends Component {state {geyao: "1111"};render() {return <div>11111</div>;} }export default companyTitle;

【转】基于XML-RPC的BloggerAPI学习

Luliang的mail2blog脚本&#xff0c;通过基于XML-RPC的BloggerAPI来实现的发布blog的功能。BloggerAPI是一套程序接口&#xff0c;用以支持远程操作blog.这个规范现在的版本是1.0&#xff0c;是个试验版本和α版本。但是&#xff0c;规范的研发人员不再对BloggerAPI进一步地开发…

前端技巧——js篇

前端技巧——js篇 复制操作 copy () {let url this.code;let oInput document.createElement(input);oInput.value url;document.body.appendChild(oInput);oInput.select(); // 选择对象console.log(oINput.value);document.execCommand(Cooy); // 执行浏览器复制命令a…

Webpack基础之插件

插件(Plugins)&#xff1a; 插件是 wepback 的支柱功能。在你使用 webpack 配置时&#xff0c;webpack 自身也构建于同样的插件系统上&#xff01; 插件目的在于解决 loader 无法实现的其他事 剖析&#xff1a; webpack 插件是一个具有 apply 属性的 JavaScript 对象。 app…

Taro+react开发(27)别加view

return (<div><View>11111</View><ImageclassName"unit-info-tax-tip"src{require("./companyTitle/system-item1.png")}/></div>

使用windows资源管理器打开jar

在命令行里输入&#xff1a; assoc .jarCompressedFolder转载于:https://www.cnblogs.com/pavkoo/p/3805456.html

MYSQL进入客户端后切换服务器的简单做法试验

今天发现有个\r 选项可以切换连接。不过功能比较单一。connect (\r) Reconnect to the server. Optional arguments are db and host.进入客户端后切换服务器连接的做法。只能是切换到和另外一个SERVER端口&#xff0c;用户名&#xff0c;密码都是一样的。原来SERVER&#xf…

dos下登录fedora下的vsftp失败

我有两个FTP站点&#xff1a;A - windows xp下的IIS, B - 虚拟机fedora12下的vsftp&#xff0c;都是正常运行的&#xff0c;同时这两个站点都允许匿名访问。 在dos下访问A&#xff0c;或在fedora12终端下登录B&#xff0c;都是成功的。但是在dos下访问B&#xff0c;或在fedora…

Flex布局实战篇

网格布局&#xff1a; 1.基本网格布局&#xff1a; 最简单的网格布局&#xff0c;就是平均分布。在容器里面平均分配空间&#xff0c;只是需要设置项目的自动缩放 HTML代码如下 CSS代码如下 因为每个网格都已经设置好了固定的百分比空间&#xff0c;唯一要做的就是给…

[Python]linux自己定义Python脚本命令

在window下写好的程序配置到Linux上&#xff0c;要实现随意文件夹下的命令调用。 因为初学Linux&#xff0c;这里从文件传输等最主要的方法入手&#xff0c;记录配置的过程中遇到的各种问题。 连接远端server 这里使用putty这个工具&#xff0c;用SSH方法连上远端server 传输文…

滑动图片验证以及滑块验证

1、图片验证longbow.slidercaptcha 包下载地址以及示例 https://github.com/Yephy/SliderCaptcha https://gitee.com/JayZhou/SliderCaptcha https://blog.csdn.net/tanqingfu1/article/details/105295158 2、滑块验证slideunlock 包下载地址以及示例 http://www.internetke.co…

javascript学习系列(2):数组中的filter方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说f…