文字處理三劍客

2021-09-10 21:41:31 字數 1543 閱讀 5848

文字處理三劍客

劍客一:grep 作用:「行」過濾

用法: grep 「正規表示式」 檔案(路徑)

grep -e 「擴充套件類正規表示式」 檔案(路徑)

劍客二:sed

用法: sed 選項 『位址定位sed命令』 檔案(路徑)

sed 選項 『/正規表示式/sed命令』 檔案(路徑)

sed 選項 『位址定位/正規表示式/sed命令』 檔案(路徑)

選項:-n :取消輸出原檔案,與命令p一起用

-r :使用擴充套件類正規表示式

-e :多次編輯(每次編輯都要加「-e」)

-i :直接修改原檔案

位址定位:

x 指定x行號 sed -n 『5p』 1.txt

x,y 指定x到y行號 sed -n 『1,5p』 1.txt

/key/ 查詢包含關鍵字的行 sed -n 『/root/p』 1.txt

/key1/,/key2/ 指兩個關鍵字之間的行

/key/,x 從含關鍵字的行到檔案的第x行

x,/key/ 從檔案的第x行到含關鍵字的行

x,y! 不包含x到y行

$ 表示最後一行

sed命令

p 列印行,與「-n」一起用

d 刪除行

i 行前插入

a 行後插入

c 整行內容替換

w 儲存

; 表示分割命令 即 』命令 ; 命令 ; 命令』 , 相當於「-e」

劍客三:awk

用法:awk 選項 『位址定位』 檔案(路徑)

awk 選項 『/正規表示式/』 檔案(路徑)

awk 選項 『位址定位/正規表示式/』 檔案(路徑)

注意:awk和sed 一樣,正規表示式要用「雙斜槓」包住、包好!

選項:-f(大f) 定義"輸入字段"的分隔符,預設是空格

-v(小v) 定義變數並賦值 awk -v sum=0

位址定位:nr1 表示第1行

nr1,nr==5 表示第1行至第5行

:awk命令語句 必須用花括號「{}」包住,包好!!

規定的內建變數,沒有為什麼,記住就好

$0 表示當前所有記錄(內容)

nf 表示當前記錄的字段數(列數)

$1 第1列

$2 第2列

$nf 最後一列

$(nf-1) 倒數第二列

$(nf-2) 倒數第三列

print 命令語句裡執行列印命令 如 ,列印第一列

「」 列印內容字串 如

「\t」 製表符 如

「\n」 換行符 如

fs 在裡定義「輸入字段」的分隔符(預設是空格)

如『begin』 , 等同於命令外的「-f:」

ofs 在裡定義「輸出字段」的分隔符(預設是空格)

如『begin』, 等同於

awk命令裡的模式

『begin ; ;end』

格式化輸出,即對齊輸出:

awk -f: 『』 2.txt

備註:printf 指橫向輸出

%-15s 指間隔15個字元

Linux文字處理三劍客

grep 作用 文字搜尋工具,根據使用者指定的 模式對目標檔案逐步進行匹配檢查,列印匹配到的行 grep root etc passwd grep命令選項 grep user etc passwd v 顯示不被pattern 匹配的行 e 僅顯示匹配到的字串 grep user etc passwd...

linux文字處理三劍客

常用引數 v 顯示不能夠被匹配到的行 i 忽略大小寫字元 o 僅顯示匹配到的字串 q 靜默模式,不輸出任何資訊 a 後 行 b 前 行 c 前後各 行 e 使用ere,相當於egrep常用引數 n 只列印模式匹配的行 e 直接在命令列模式上進行sed動作編輯,此為預設選項 f 將sed的動作寫在乙個...

文字處理三劍客(grep sed wak)

重在查詢 a或 text 不要忽略二進位制的資料。a 顯示行數 或 after context 顯示行數 除了顯示符合範本樣式的那一列之外,並顯示該行之後的內容。b或 byte offset 在顯示符合樣式的那一行之前,標示出該行第乙個字元的編號。b 顯示行數 或 before context 顯示...