bash的萬用字元:
1. ? 匹配單個字元,ls -l aa?b.txt
2. * 匹配任意個字元 ls -l aa*b.txt
3. 匹配中括號中的任意乙個字元 ls -l aa[trh]b.txt, ls -l aa[a-d]b.txt
4. {} 一組表示式,用逗號,隔開,只要滿足其中一條即可 ls -l ls*a
5. ^ 在中使用,表示不等於這裡面內容的,注意:是完全匹配,跟正規表示式不一樣 ls -l [^myconfig]*.txt
6. golbignore 內部變數globignore儲存了通配時所忽略的檔名集合
grep 命令:
基本用法:grep [選項] [模式] [檔案...]
grep命令由選項、模式、檔案三部分組成,它在乙個或多個檔案中搜尋滿足模式的文字行,模板後的所有字串被看成檔名,檔名可以多個,搜尋結果被列印到標準輸出,不影響原檔案內容。
grep命令的選項:
-c 只輸出匹配行的數量
-i 搜尋時忽略大小寫
-h 查詢多檔案時不顯示檔名
-l 只列出復合匹配的檔名,不列出具體匹配行
-n 列出所有匹配行,並且顯示行號
-s 不顯示不匹配或無匹配的錯誤資訊
-v 反向匹配,顯示所有不匹配的行
-w 匹配整詞,並且以模式的字面含義去解析它,而不去解析正則式的元字元
-x 匹配整行,並且也是跟-w一樣以字面含義去解析
-r 遞迴搜尋,不僅搜尋當前工作目錄,而且搜尋子目錄
-q 禁止輸出任何結果,以退出狀態值表示搜尋是否成功
-b 列印匹配行距離檔案頭部偏移量,以位元組為單位
-o 與-b結合使用,列印匹配的詞距離檔案頭部的偏移量,以位元組為單位
-e 支援擴充套件的正規表示式
-f 不支援正規表示式,按照字串的字面意思搜尋
posix字元類:
為了保持不同國家的字元編碼一致性,posix portable operating system inte***ce增加了特殊的字元類,以[:classname:]的格式給出,grep命令支援posix字元類,下面是posix類及其意義:
[:upper:] 表示大寫字母[a-z]
[:lower:] 表示小寫字母[a-z]
[:digit:] 表示阿拉伯數字[0-9]
[:alnum:] 表示大小寫和阿拉伯數字[a-za-z0-9]
[:space:] 表示空格或者tab鍵
[:alpha:] 表示大小寫字母[a-za-z]
[:cntrl:] 表示ctrl鍵
[:graph:]或[:print:] 表示ascii碼33~126之間的字元
[:xdigit:] 表示16進製制數字[0-9a-fa-f]
下面舉幾個例子:
# 利用posix字元類搜尋以大寫字母開頭的行
# grep '^[[:upper:]]' test.txt
精確匹配: \其實效果跟 grep -w test 是一樣的,匹配整個單詞test
standford NLP課程筆記一 正規表示式
課程位址 裡面的字元表示每個都可以,比如 ww oodchuck 可以表示woodchuck和woodchuck 1234567890 表示任何單個數字 表示範圍的 a z 表示所有大寫字母 a z 表示所有小寫字母 0 9 表示所有單個數字 表示否定的 a z 不要大寫的字母 a z 不要小寫的字...
設計誤區之一 正無窮
軟體設計中乙個忌諱就是正無窮,什麼事正無窮?下面舉例說明 eclipse,當新建乙個字串變數,字串長度有幾萬甚至幾十萬長度的時候,你會發現eclipse死在那兒了 同樣debug的時候如果遇到相當大的字串,eclipse同樣會無反應。當你想將檔案按年月日命名放在乙個資料夾下,定期讀取資料夾下所有檔案...
Linux Shell指令碼系列之一
shell的分類 使用tab鍵 進行命令和檔案目錄的補全,若當前匹配的有多個則再摁多一次,則會列出所有匹配的檔案或目錄 輸入重定向 wc 選項 檔名 選項 c 統計位元組數 w 統計單詞數 l 統計行數 管道符命令1 命令2 命令1的正確輸出作為命令2的操作物件 舉個栗子3 萬用字元?匹配乙個任意字...