shell中文字處理命令 grep命令

2021-10-02 23:16:37 字數 2373 閱讀 1493

4.正規表示式和grep結合的例子

引數說明

-c只輸出匹配行的數量

-i搜尋時忽略大小寫

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

-l只列出符合匹配的檔名,而不列出具體的匹配行

-n列出所有的匹配行並顯示行號

-s不顯示不存在或無匹配文字的錯誤資訊

-v顯示不包含匹配文字的所有行

-w匹配整詞

-x匹配整行

-r遞迴搜尋,不僅搜尋當前工作目錄,並且搜尋子目錄

-q禁止輸出任何結果,以退出狀態表示搜尋是否成功

-b列印匹配行距檔案頭部的偏移量,以位元組為單位

-o與-b選項結合使用,列印匹配詞距檔案頭部的偏移量,以位元組為單位

-e支援擴充套件的正規表示式

-f不支援正規表示式,按照字串的字面意思進行匹配

grep root /etc/passwd	#過濾檔案中含有root的行

grep -c root /etc/passwd	#-c只輸出匹配行的數量

grep -n root /etc/passwd	#-n列出所有的匹配行並顯示行號

grep -v root /etc/passwd	#-v顯示不包含root的所有行

grep -vc root /etc/passwd #顯示不包含root的所有行的數量

grep -i root passwd		#搜尋時忽略大小寫

grep ro*t passwd		#應用正規表示式

grep root lalala #

grep -s root lalala #-s不顯示不存在或無匹配文字的錯誤資訊

grep -r passwd /etc/		#查詢/etc及其子目錄中 所有包含passwd的檔案 並列印出該字串所在行的內容

grep roo* passwd 

grep -w roo* passwd #-w匹配整詞

grep -x world test.txt #-x匹配整行

grep -q -x world test.txt 	#-q不會輸出任何結果,以退出狀態表示是否搜尋成功

echo $?

grep -q -x hello test.txt

echo $?

grep -c ^$ passwd		#查詢空白行並列印行數

grep -c ^[^$] passwd		#搜尋非空行。能匹配開頭就不是空行

grep -n [rr]oot passwd	#表示第乙個字元可以是r或r後面三個字元為oot

grep '[[:alpha:]]\t'  passwd #查詢passwd檔案中3個字母後跟t的行

shell文字處理

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

shell 文字處理

最近優化指令碼,將幾套指令碼合併,比如,處理nand手機的指令碼和處理emmc手機的指令碼是不一樣的,這導致我們的指令碼有很多個版本。手機側只有busybox,所以不能使用功能強大的python來處理文字。花了半天時間,發現雖然語法比較怪異,但也能簡潔的完成任務。if e proc emmc the...

文字處理命令

sort命令 sort命令的功能是對檔案中的各行進行排序。sort命令有許多非常實用的選項,這些選項最初是用來對資料庫格式的檔案內容進行各種排序操作的。實際上,sort命令可以被認為是乙個非常強大的資料管理工具,用來管理內容類似資料庫記錄的檔案。sort命令將逐行對檔案中的內容進行排序,如果兩行的首...