grep是乙個文字過濾器,作用是在檔案中查詢符合我們要求的內容。
第一種形式,從指定的檔案中找出匹配pattern的行:grep [option] pattern [file1,file2,...]
第二種形式,從管道中找出匹配pattern的行:cmd | grep [option] pattern
說明:pattern是由正規表示式字元及文字字元所編寫的過濾條件。
選項含義
-v不顯示匹配行資訊
-i搜尋時忽略大小寫
-n顯示行號
-r遞迴搜尋
-e支援擴充套件正規表示式
-f不按正規表示式匹配,按字串字面意思匹配
-c只輸出匹配行的數量,不顯示具體內容
-o只顯示模式匹配到的字串
例項:我們的測試檔案test.txt內容如下:
i love linux
i love linux
i love linux
i love linux
i love linu.*
-v 選項,反向匹配:
[root@localhost ~]
# grep -v love test.txt
i love linux
i love linux
-i 選項,忽略大小寫:
[root@localhost ~]
# grep -i love test.txt
i love linux
i love linux
i love linux
i love linux
-n 選項,顯示匹配行的行號:
[root@localhost ~]
# grep -n love test.txt
1:i love linux
2:i love linux
-e 支援擴充套件正則,|
是擴充套件正則中的特殊含義的符號,代表任意乙個匹配(不是管道哦):
[root@localhost ~]
# grep -e 'linux|linux' test.txt
i love linux
i love linux
i love linux
-f 不要按正則來解析,就要字串本身:
[root@localhost ~]
# grep -f "linu.*" test.txt
i love linu.*
-c 只顯示匹配的行數:
[root@localhost ~]
# cat /etc/passwd | grep -c "root" # 查詢passwd檔案中有多少行有root
2
檢視最近有哪些遠端ip以root身份登陸過我們的機器,統計每個ip登陸的次數。我們的思路如下:
1.通過last列出最近登陸系統的所有使用者。
2.過濾出以root登陸系統的ip。
3.過濾出遠端登陸的ip。
4.統計出每個ip登陸的次數。
last |
grep
"^root"
|grep -e -o "([[:digit:]].)[[:digit:]]"
|sort
|uniq -c
grep主要功能是文字過濾,往往需要和管道還有正規表示式搭配使用才能發揮威力。
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-eorncsbw-1602670793953)(image/grep.png)]
製作人 : 李濤
審核人:王海斌
面試官都在問 Linux命令之許可權理解
0.概述 1.linux命令之切換使用者 su 全程 switch user 1.1 簡述 作業系統中,並不能讓乙個使用者可以為所欲為,這樣會使得系統的安全性無法得到保障,因此有了操作許可權的劃分,在linux系統中使用者共劃分為兩類 管理員使用者 root 以及 普通使用者 su命令可讓乙個普通使...
面試官都在問 選擇排序
選擇排序的思想不難理解。選擇排序把資料分成兩組來看待,一組已經有序的資料和一組無序的資料,排序開始之前,有序資料的個數為0。每次從未排序的資料中選取最小值,並與未排序的最左資料進行交換,直到未排序的資料為0,則結束排序。演算法過程如下圖所示 3.1 時間複雜度選擇排序每次需要遍歷未排序的資料,尋找最...
面試官都在問 快速排序C 實現
快排是c.a.r.hoare在1960提出的一種排序演算法,這是一種採用分治思想的排序演算法,大致分為三個步驟。定基準 首先選擇乙個元素作為基準值 劃分區 所有比基準小的元素置於基準左側,比基準大的元素置於右側,構成左右兩個子串行 遞迴呼叫 遞迴地呼叫此切分過程,切分其子序列,直到子串行只含有乙個值...