你曾经遇到过在文件中查找特定字符串或模式的任务,但是不知道从哪里开始查找?那么,这里是grep来救援!

12 Grep命令示例

grep是配备在Linux上的每一个分布的功能强大的文件搜索模式。 如果出于某种原因,这是不是你的系统上安装,你可以很容易地通过它你的包管理器进行安装(在Debian / Ubuntu的 apt-get和Yum在RHEL / CentOS的 / Fedora的 )。

$ sudo apt-get install grep #Debian/Ubuntu

$ sudo yum install grep #RHEL/CentOS/Fedora

我发现,让你的脚湿使用grep最简单方法是在短短的潜水权,并使用一些真实的例子。

1.搜索和查找文件

比方说,您刚刚安装新的Ubuntu的新副本你的机器上,那你要给Python脚本的一个镜头。 你一直在网上淘找教程,但你看到有使用两个不同版本的Python,而你不知道哪一个是由Ubuntu的安装程序安装到系统上,或者如果它安装的模块。只需运行此命令:

# dpkg –l | grep –i python

示例输出

ii python2.7 2.7.3-0ubuntu3.4 Interactive high-level object-oriented language (version 2.7)

ii python2.7-minimal 2.7.3-0ubuntu3.4 Minimal subset of the Python language (version 2.7)

ii python-openssl 0.12-1ubuntu2.1 Python wrapper around the OpenSSL library

ii python-pam 0.4.2-12.2ubuntu4 A Python interface to the PAM library

首先,我们跑的dpkg -l,其中列出了在系统上安装* .deb软件包。 第二,我们的管道输出到grep -ipython,它简单状态“去grep和过滤掉,并返回在它的Python的一切。”-i选项有忽略大小写,以及grep是区分大小写。 使用-i选项进入,除非你当然想明确更具体的搜索的好习惯。

2.搜索和过滤文件

grep也可以用来搜索和单个文件或多个文件中进行筛选。让我们来看这个场景:

您遇到一些麻烦你的Apache Web服务器 ,并且您已经接触了在网络上寻求一些帮助许多真棒论坛之一。 那种灵魂谁回复你要求你发布你的/ etc / apache2的/网站的可用/默认SSL文件的内容。你会不会更容易,那个帮助你的家伙,以及每个人阅读它,如果你可以删除所有的注释行?你可以!只需运行:

# grep –v “#” /etc/apache2/sites-available/default-ssl

-v选项告诉grep来反转它的输出,这意味着,而不是打印匹配行,却反其道而行之,并打印所有不匹配的表达,在这种情况下的线条时,#注释行。

3.仅查找所有.mp3文件

grep可以是用于从标准输出滤波非常有用的。 例如,假设您有一个完整的文件夹充满了一堆不同格式的音乐文件。 你想找到所有从艺术家JayZ的* .mp3文件,但你不希望任何的混音曲目。 使用find命令与一对夫妇的grep管道将这样的伎俩:

# find . –name “*.mp3” | grep –i JayZ | grep –vi “remix”

在这个例子中,我们使用的是发现打印的所有文件以* .MP3扩展 ,管道就到grep -i筛选出并打印名为“JayZ”,然后另一条管道的所有文件,这些文件过滤到grep -VI出,并且不与串(在任何情况下)“ 混音 ”打印所有的文件名。

4.显示搜索字符串之前或之后的行数

选项另一对夫妇是-A和-B开关,显示线的匹配线和数目,要么来之前或搜索字符串之后。 虽然手册页提供了更详细的解释,我觉得最容易记住的选项-A = 后 ,和-B 之前 =:

# ifconfig | grep –A 4 eth0

# ifconfig | grep -B 2 UP

5.打印匹配周围的线数

grep 的-c选项相似,但不是打印的前或后的字符串来的线条,它打印在任一方向的线路:

# ifconfig | grep –C 2 lo

6.计数匹配数

类似管道grep命令字符串字数(WC程序)的grep 内置选项可以执行同样的话:

# ifconfig | grep –c inet6

7.按给定字符串搜索文件

在编译错误调试文件时grep-n选项是非常有用的。它在给定搜索字符串的文件中显示行号:

# grep –n “main” setup..py

8.在所有目录中递归搜索字符串

如果您想寻找与所有子目录沿当前目录的字符串,可以指定-r选项递归搜索:

# grep –r “function” *

9.搜索整个花样

通过-w选项对grep是字符串中的整个模式的搜索。例如,使用:

# ifconfig | grep –w “RUNNING”

将在引号中打印包含模式的行。另一方面,如果你尝试:

# ifconfig | grep –w “RUN”

不会返回任何内容,因为我们不是搜索模式,而是整个单词。

10.在Gzipped文件中搜索字符串

值得一提的是grep 派生。首先是zgrep,其中,类似ZCAT,是压缩文件上调用使用。 它采用相同的选项grep和以同样的方式使用:

# zgrep –i error /var/log/syslog.2.gz

11.匹配文件中的正则表达式

该egrep是另一种衍生的意思是“ 扩展全局正则表达式 ”。 它可以识别更多的表达元字符在这种+? |和()。

-E选项调用。

# grep –E

12.搜索固定模式字符串

的比fgrep搜索一个或多个文件的列表的固定模式串。 它是一样的grep -F。 使用fgrep一样的一个常用方法是模式的文件传递给它:

# fgrep –f file_full_of_patterns.txt file_to_search.txt

这仅仅是一个起点使用grep,但你可能能够看到,它是无价的多种用途。 除了我们已经实现了简单的行命令中,grep可以用来编写功能强大的cron作业,和强大的shell脚本 ,对于一个开始。

手册页的选项,并拿出服务于自己的目的grep表达式!

linux将grep行注释,Linux grep命令的12个实用示例相关推荐

  1. linux获取偶数行内容,linux命令(39):shell 打印偶数行,奇数行 ,行号

    awk 命令: 1. 打印行号和内容: awk '{print NR":"$0}' 2. 输出:偶数行和奇数行到文件 awk '{print $0.txt > NR%2.tx ...

  2. linux大概有多少行代码,Linux源代码行数已超过1000万 价值5亿美元

    一项分析发现,在最近发布2.6.27版本Linux内核之后,包括Linux内核文件在内的源代码行数已经超过了1000万行. 不过,这个数字包括空白行.注释和整个内核源代码全年检查的文本文件.采用不同的 ...

  3. linux显示文件内容行号,linux命令显示文件内容行号|linux将内容以行号显示出来...

    linux命令 显示文件内容 通过命令+文件名查看内容.如下命令可以查看.1, cat :由第一行开始显示文件内容:2,tac:从最后一行开始显示,可以看出tac与cat字母顺序相反:3,nl:显示的 ...

  4. linux用usermod加注释,Linux命令之usermod详解

    usermod [选项] 登录名 usermod修改用户基本信息. (1).常用选项 -d,--home HOME_DIR 用户的新主目录 -g,--gid GROUP 强制GROUP为新主组 -G, ...

  5. linux文件每行长度,linux – 根据第一列/行中的字符长度对文件进行排序

    我需要根据第一列中的字符数对文件进行排序. 我不知道如何解决这个问题.我正在使用Linux,所以sed / awk / sort都可用. .abs is bla bla 12 .abc is bla ...

  6. linux汇编中的注释,Linux 汇编器:对照 GAS 和 NASM

    Linux 汇编器:对比 GAS 和 NASM 转自 http://www.ibm.com/developerworks/cn/linux/l-gas-nasm.html#ibm-pcon 与其他语言 ...

  7. Linux移动文件与目录-mv命令的10个实用例子

    mv 命令 mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本.不管你在使用什么版本的Linux系统,mv 都默认安装在你的Linux系统上了. 来看一下 mv 命令在日常操作中 ...

  8. linux 追加多行文件,linux多行文件信息追加

    方法一:使用echo ++++++++++++ #!/bin/bash echo "123 456 789 123 `ls`">>test.txt 方法二:使用cat( ...

  9. 六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

    六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 在计算机科学中,对"正则表达式" 的定义是:它使用单个字符串来描述或匹配一系列符合 ...

最新文章

  1. python安装包_迈出Python学习第一步:Python开发环境的下载与安装
  2. vcenter用到java吗_Vijava 学习笔记之 VCenter连接
  3. CentOS添加常用yum源
  4. 中国风力发电设备市场需求容量与投资战略研究报告2022版
  5. 【Vegas原创】VMWare下,Linux挂载、卸载新硬盘的方法
  6. 1、JavaScript 函数,2、JavaScript 正则表达式,3、JavaScript JSON,
  7. LitePal 数据库使用方法(最新2.0LitePal数据库适用)
  8. 易语言webservice接口_易语言webservice接口调用助
  9. 【信号处理】音频信号处理平台含Matlab源码
  10. linux命令清理磁盘空间,Unix/Linux中常用的清理磁盘空间的命令
  11. N1盒子安装 aria2(带AriaNg前端)
  12. 动态路由协议:华为路由配置OSPF实验
  13. android recovery 机器人,扫盲贴:关于recovery模式的机器人倒地和感叹号
  14. int main(int argc,char* argv[]) 解析
  15. 3D建模入门学习方法,制作过程的六个主要阶段讲解 小白教程
  16. 咸鱼ZTMR实例—板载LED
  17. 健身气功----八段锦
  18. python学习笔记-ipc机制 (进程间通信)及其代码实现
  19. 看WIZ110SR如何实现串口转以太网功能
  20. iptables及其过滤规则

热门文章

  1. 网络原理 --- 传输层Ⅱ TCP协议中的确认应答,超时重传和连接管理
  2. 深度分析:服务器租用与服务器托管的区别-蓝队云
  3. 完善数字人民币发行应用机制 打造可靠金融基础设施
  4. 孔子语录 翻译...
  5. Liunx服务器安装nginx(安装包版)
  6. 几款安卓人气手机数据备份软件体验
  7. 网站运行状态检测工具
  8. talib 中文文档
  9. [MacOSX]_[Mac Book电脑的快捷键*长期更新]
  10. 阿里云原生中间件首次实现自研、开源、商用“三位一体”,技术飞轮效应显现