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

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

linux将grep行注释,Linux grep命令的12个实用示例_第1张图片

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行注释)