首页 存档 技术 查看内容

Linux进阶必学知识:grep是什么?怎么用?

2018-3-30 13:00 |来自: 互联网 325 0

摘要: 经常读一些介绍unix命令的文章,但是文章所举的例子普遍价值不大,这就导致了看完了文章后我们并不知道如何有效地运用这些unix命令。 写在前面 三年前,作为面试官,我负责招聘unix系统管理员。那次来竞聘该岗位的 ...



经常读一些介绍unix命令的文章,但是文章所举的例子普遍价值不大,这就导致了看完了文章后我们并不知道如何有效地运用这些unix命令。


写在前面


三年前,作为面试官,我负责招聘unix系统管理员。那次来竞聘该岗位的共有8个人,其中两人是技术一流的自由职业者。我认为系统管理员没必要把所有的配置方法熟记于心,需要某个软件的时候,只要你想把它玩转并且玩得更酷,多读些文章,你便会自然而然地熟悉它的各种用法与配置。于是,我让这些应聘者解决下面两个问题:


  1. 创建一个例行任务,它在每个偶数点(比如2点、12点)和3点执行;

  2. 通过/var/run/dmesg.boot文件打印处理器信息。


让我吃惊的是,8位应聘者中没有一个人能解决上述问题,其中两人竟对grep命令一无所知。


介于此,我们就好好说说grep。


首先,以下所有的操作都是基于grep 2.5.1-FreeBSD:

  1. # grep --version | grep grep

  2. grep (GNU grep) 2.5.1-FreeBSD


有必要先交待下grep版本,因为某些用法只限定于特定的版本:

  1. # man grep | grep -iB 2 freebsd

  2. -P, --perl-regexp

  3. Interpret PATTERN as a Perl regular expression. This option is

  4. not supported in FreeBSD.


好了,言归正传,我们经常会这样grep文件:

  1. root@nm3:/ # cat /var/run/dmesg.boot | grep CPU:

  2. CPU: Intel Core(TM)2 Quad CPU Q9550 @ 2.83GHz (2833.07-MHz K8-class CPU)


还可以这样做:

  1. root@nm3:/ # grep CPU: /var/run/dmesg.boot

  2. CPU: Intel Core(TM)2 Quad CPU Q9550 @ 2.83GHz (2833.07-MHz K8-class CPU)


这样也是可以的(虽然我很讨厌这种操作方式):

  1. root@nm3:/ #

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部