Linux檔案處理三劍客

2021-08-27 20:41:42 字數 1831 閱讀 4268

grep(關鍵字:擷取):文字蒐集工具, 結合正規表示式非常強大

(重點)awk(關鍵字:分析&處理):一行一行的分析處理 awk 『條件型別1條件型別2』 filename, awk 也可以讀取來自前乙個指令的標準輸出

*****其中awk非常重要************

grep:

基本語法: grep 要匹配的內容 檔名

主要引數

-c : 只輸出匹配的行

-i : 不區分大小寫

-h : 查詢多檔案時不顯示檔名

-l : 查詢多檔案時, 只輸出包含匹配字元的檔名

-n : 顯示匹配的行號及行

-v : 顯示不包含匹配文字的所有行(我經常用除去grep本身)

-o : 只輸出匹配內容

sed:

基本語法:sed [-nef] 『[動作]』 [輸入文字]

-n : 安靜模式, 一般sed用法中, 來自stdin的資料一般會被列出到螢幕上, 如果使用-n引數後, 只有經過sed處理的那一行被列出來.

-e : 多重編輯, 比如你同時又想刪除某行, 又想改變其他行, 那麼可以用 sed -e 『1,5d』 -e 『s/abc/***/g』 filename

-f : 首先將 sed的動作寫在乙個檔案內, 然後通過 sed -f scriptfile 就可以直接執行 scriptfile 內的sed動作 (沒有實驗成功, 不推薦使用)

-i : 直接編輯, 這回就是真的改變檔案中的內容了, 別的都只是改變顯示. (不推薦使用)

動作:

a 新增, a 後面可以接字串, 而這個字串會在新的一行出現. (下一行)

c 取代, c 後面的字串, 這些字串可以取代 n1,n2之間的行

d 刪除, 後面不接任何東西

i 插入, 後面的字串, 會在上一行出現

p 列印, 將選擇的資料列出, 通常和 sed -n 一起運作 sed -n 『3p』 只列印第3行

s 取代, 類似vi中的取代, 1,20s/old/new/g

awk:

基本語法:awk 『begin end』 處理檔案

其中begin 和 end 只執行一遍

(可以這麼理解:begin為初始化,而中間為處理語句,end輸出)

last -n 5 | awk 『』 這裡大括號內1"

\t"1 "\t

"3 之間不加空格也可以, 不過最好還是加上個空格, 另外注意」\t」是有雙引號的, 因為本身這些內容都在單引號內 0代

表整行 0代表

整行

1代表第乙個區域, 依此類推

awk的處理流程是:

1. 讀第一行, 將第一行資料填入變數 0,

0

,1… 等變數中

2. 依據條件限制, 執行動作

3. 接下來執行下一行

所以, awk一次處理是一行, 而一次中處理的最小單位是乙個區域

另外還有3個變數, nf: 每一行處理的字段數, nr 目前處理到第幾行,fs 目前的分隔符

邏輯判斷 > < >= <= == !== , 賦值直接使用=

cat /etc/passwd | awk 『

3<10 』 首先定義分隔符為:, 然後判斷, 注意看, 判斷沒有寫在{}中, 然後執行動作, fs=」:」這是乙個動作, 賦值動作, 不是乙個判斷, 所以不寫在{}中

begin end , 給程式設計師乙個初始化和收尾的工作, begin之後列出的操作在{}內將在awk開始掃瞄輸入之前執行, 而end{}內的操作, 將在掃瞄完輸入檔案後執行。

檔案處理三劍客之grep

grep global search regular expression and print out the line 作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 模式 由正規表示式字元及文字字元所編寫的過濾條件 格式grep options patte...

Linux命令三劍客

grep的簡單使用 grep的主要作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 grep的工作模式 由正規表示式字元及文字字元所編寫的過濾條件 grep的用法 grep options pattern file options v 顯示不被pattern匹配...

文字三劍客

檔案萬用字元和正規表示式 文字過濾工具grep linux系統中,一切皆檔案。強大的文字編輯和處理工具便必不可少了,在linux系統中,有文字處理三劍客 grep,sed,awk。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...