日期:2014-05-16  浏览次数:20619 次

Linux中grep命令的12个实践例子

grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-getRHEl/CentOS/Fedora系中的yum)。

?

 $ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep #RHEL/CentOS/Fedora 

  我发现使用现实世界中的真实例子让你投身其中是让你接触grep命令的最容易方式。

?

1.搜索和寻找文件

?

  假设你已经在你的电脑上安装了一个全新的Ubuntu,然后你打算卸载Python。你浏览网页寻找教程,但是你发现存在两个不同版本的Python在使用,而你不知道你的Ubuntu安装器到底在你的系统中安装了哪个版本的Python,也不知道它安装了哪些模块。解决这个烦恼只需简单的运行以下命令:

?

 $ sudo 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 -i?python,这一步可以简单解释为把结果传输给grep然后过滤出所有含有python的项,并返回结果。–i选项用于忽略大小写,因为 grep 是大小写敏感的。使用选项-i是个好习惯,除非你打算进行更细节的搜索。

?

2.搜索和过滤文件

?

  grep还可以在一个或多个文件里用于搜索和过滤。让我们来看一个这样的情景:

?

  你的Apache网页服务器出现了问题,你不得不从许多专业网站里找一个发帖询问。好心回复你的人让你粘贴上来你的/etc/apache2/sites-available/default-ssl文件内