grep命令

grep命令grep(global search regular expression(RE) and print out the line,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來;grep搜索的結果被送到屏幕,不影響原文件內容。Unix的grep家族包括grep、egrep和fgrep。egrep表示擴展的grep,相比grep支持更多的元字符,"grep -E"相當于egrep;fgrep不支持元字符,但是搜索速度更快。

用法: grep [OPTIONS] PATTERN [FILE…]

    grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…]

常用選項:

-v:顯示不能被pattern匹配到的行

例如:不顯示/etc/fstab文件的注釋信息:

~]# grep -v "^#" /etc/fstab
UUID=a87091f4-347b-41da-9983-a8f193e1206e /                    ext4    defaults        1 1
UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                ext4    defaults        1 2
UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                 swap    default

-i:忽略字符大小寫

-n:顯示匹配行號

-c:統計匹配行數

-o:僅顯示匹配到的字符串

例如:查找/etc/fstab文件中的“defaults”關鍵字

~]# grep -o "defaults" /etc/fstab
defaults
defaults
defaults
defaults
defaults
defaults

-A NUM:顯示后NUM行

例如:顯示匹配到“ext4”的后兩行

~]# grep -n -A2 "ext4" /etc/fstab
9:UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
10:UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
11-UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0
12-tmpfs                   /dev/shm              tmpfs   defaults        0 0

-B NUM:顯示前NUM行

-C NUM:前后各NUM行

例如:顯示匹配到“ext4”的前后各一行

~]# grep -n -C1 "ext4" /etc/fstab
8-#
9:UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
10:UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
11-UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0

-q:不顯示任何信息

-w:顯示匹配到字符串的行

例如:查找/etc/fstab文件中有“defaults”關鍵字的行

~]# grep -w "defaults" /etc/fstab
UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0
tmpfs                   /dev/shm              tmpfs   defaults        0 0
sysfs                   /sys                  sysfs   defaults        0 0
proc                    /proc                 proc    defaults        0 0

-e:實現多個選項的邏輯“或”關系

例如:在/etc/fstab文件中查找“ext4”或者“swap”關鍵字

~]# grep -e "ext4" -e "swap" /etc/fstab
UUID=a87091f4-347b-41da-9983-a8f193e1206e /                     ext4    defaults        1 1
UUID=d0bb97dd-0370-4e9f-bb38-ecf580b2761c /boot                 ext4    defaults        1 2
UUID=77fc1474-4b1d-4e28-be0a-e81dd21bef19 swap                  swap    defaults        0 0

          -E:使用擴展正則表達式,相當于egrep

原創文章,作者:yilianrenzhendemenbi,如若轉載,請注明出處:http://www.www58058.com/30792

(0)
yilianrenzhendemenbiyilianrenzhendemenbi
上一篇 2016-08-08 16:11
下一篇 2016-08-08 16:11

相關推薦

  • Xen虛擬化平臺安裝及實時遷移

    前言 Xen是英國劍橋大學計算機實驗室開發的一個虛擬化開源項目,Xen可以在一套物理硬件上安全的執行多個虛擬機,它和操作平臺結合的極為密切,占用的資源極少。以高性能、占用資源少著稱,贏得了IBM、AMD、HP、Redhat和Novell等眾多世界級軟硬件廠商的高度認可和大力支持,已被國內外眾多企事業用戶用來搭建高性能的虛擬化平臺。 Xen虛擬化類型 Xen對…

    Linux干貨 2015-07-19
  • 路由配置

      RA和RB為linux系統,此處虛擬成為路由器,在每一臺路由器的接口上設置好ip之后開始配置路由表 ip地址配置如下: RA:eth1:192.168.100.1/24    eth0:10.1.0.1/8       主機A:10.1.0.25/8 RB: eth1:192.168.100.2…

    Linux干貨 2016-09-07
  • 記錄Linux入門3天,每天的點點滴滴記錄

        Linux 文件系統的特性:      1、文件名嚴格區分字符大小寫      2、文件名可以使用除了 /  意外任意的字符,但不建議使用特殊字符      3、文件名長度不能超過255個字符     &nbsp…

    Linux干貨 2017-05-21
  • Linux用戶和組的相關管理命令(一、用戶的相關命令)

    Linux是一個可以實現多用戶登錄的操作系統,通過su – 用戶名 可以進行用戶之間的切換,從而完成不同登錄用戶下對私有文件的操作,同時,每個用戶有且只有一個主組,但是可以有零個或多個附加組,每個組可以是一個用戶的主組,同時還可以是多個用戶的附加組。因此,熟練掌握用戶和組的相關命令十分重要。 首先,要了解用戶和組的配置文件各有兩個: 與用戶相關的…

    2017-07-22
  • 淺談RPM

    淺談RPM    [先絮叨下編譯啊]   1、 庫:其實就是一個程序模塊(它沒有執行入口,不能獨立執行,只能被能獨立運行的程序調用時執行)你可以把它想象成工具螺絲刀,可執行的程序是就是你自己;螺絲刀能自己干活嗎?沒有螺絲刀能擰螺絲嗎?或者說你現在制作一個? 螺絲刀可以實現這個功能但需要你來執行這個動作。   2、靜態編譯:將程序所需要的所有的庫都編…

    Linux干貨 2015-04-27
  • 文件的權限和訪問控制列表

      在linux管理中,為了使不同的用戶對文件有不同的操作權限。我們需要正確的修改文件的權限,一方面是為安全著想, 另一方面則是防止自己辛辛苦苦碼出的東西被其它用戶給誤刪。 1.如何修改文件的屬主和屬主:   前面用戶和組管理的內容中,我們已經對文件的屬主、屬組問題做了說明。有時候我們需要對一些文件的屬組和屬組進行修改…

    Linux干貨 2016-08-04
欧美性久久久久