文字處理grep sed awk

2022-10-09 20:24:15 字數 2739 閱讀 6552

grep

形式一:grep [ option ] [ pattern ] [file1, file2,...]

形式二:some command | grep [ option ] [ pattern ]

選項  含義

-i     忽略大小寫

-c    只輸出匹配行的數量

-n    顯示行號

-r     遞迴搜尋

-e    支援拓展正規表示式

-w    匹配整個單詞

-l     只列出匹配的檔名

-f    不支援正則,按字串字面意思進行匹配

根據字串、變數名過濾文件

過濾的錯誤資訊存到/dev/null目錄下

流編輯器,對檔案逐行進行處理

兩種形式

方式一:sed [ option ] "pattern command" file

方式二:some command | sed [ option ] "pattern command"

選項    含義

-n     只列印模式匹配的行

-f     載入存放動作的檔案

-r     支援拓展正則

-i     直接修改檔案

pattern模式

匹配模式        含義

5           只處理第5行

5,10          只處理第5到第10行

/pattern1/       只處理能匹配pattern1的行

/pattern1/, /pattern2/   只處理從匹配pattern1的行到匹配pattern2的行

command命令

查詢:p,列印

新增:

a,在匹配行後新增

i,在匹配行前新增

r,外部檔案讀入,行後新增

w,匹配行寫入外部檔案

刪除:d

修改:

s/old/new/:只修改匹配行中的第一行

s/old/new/g/:修改匹配行中所有的old

s/old/new/ig/:忽略大小寫

a,在匹配行後新增

外部文化讀入,行後新增

匹配後寫入外部檔案

修改

awk

文字處理工具,處理資料並生成結果報告

方式一:awk  『 begin{}patternend{} 』  file

方式二:some command | grep [ option ] [ pattern ]

格式      含義

begin{}    處理資料之前執行

pattern       匹配模式

處理的命令

end{}     處理資料之後執行

內建變數            含義

$0               整行內容

$1-$n               當前行的第1-n個字段

nf(number field)       當前行字段數

nr(number row)       當前行行號,從1開始

fs(field separator)       輸入字段分割符,預設為空格或tab鍵

rs(row separator)       輸入行分割符,預設為回車符

ofs(output field separator)  輸出字段分割符,預設為空格

ors(output row separator)  輸出行分割符,預設為回車符

printf 格式符

格式符   含義

%s      字串

%d      十進位制數字

%f     浮點數

修飾符  含義

+    右對齊

-    左對齊

文字處理工具grep sed awk

均在模式空間中處理,不改原檔案 grep globally search a re gular expression and print grep grep e egrep 1.grep格式 grep 匹配條件 處理檔案 grep root passwd 過濾root關鍵字 grep root pa...

shell文字處理

最於檔案的操作以前都是用高階程式語言來操作的。今天恰好需要將乙個目錄中的檔案資訊儲存到sqlite3資料庫中 我用linux中的工具和shell來作為自己畢業設計做原型開發 下面記錄一下這裡用到的部分知識,以作備忘。用ls命令來說明 1.關於shell中的管道和重定向問題。這個知識基礎,這裡不再說了...

WML 文字處理

wml使用xml文件字符集,目前支援unicode 2.0,和hdml不同,wml的所有標籤,屬性和規定的可接收值必須小寫,card的名字和變數也是區分大小寫的。和hdml一樣,對於連續的空字元,只顯示乙個空格。標籤內屬性的值必須用 或者 括起來,屬性名,和值之間不能有空格。對於不成對出現的標籤,必...