正則表達式和grep

正則表達式(regular expression, RE)是一種字符模式,用于在查找過程中匹配指定的字符。
在大多數程序里,正則表達式都被置于兩個正斜杠之間;例如/lv[o0]e/就是由正斜杠界定的正則表達式,它將匹配被查找的行中任何位置出現的相同模式。在正則表達式中,元字符是最重要的概念。

shell通配符 元字符

*? 任意多個字符? ?? ???[ ]?指定的一個字符? ?[? -? ] ??指定范圍的一個字符

正則元字符:

基本表達式 : .? 單個字符? ?? ?[ ]? [^]指定的一個字符? ?[? -? ] ??指定范圍的一個字符

次數匹配:? ? ?*? 任意次數 (>=0)? ? \? 0或者1個?

x\{m\}? x重復出現m次? ? x\{m,\} x重復出現m次以上? ? x\{m,n\} x重復出現至少m,最多到n次

錨定: ^ 行首? ?$ 行尾? ? ?\ <? ?\b? 錨定詞首? ? ?\>? ?\b 錨定詞尾? ?? ?

\( .\) 匹配稍后將要使用的標簽 和?\1 一起使用

擴展元字符(使用 \ 轉義或者egrep):

+? ?1個或者多個(>=1使用 \ 轉義或者egrep)? ? ?? 0或者1個?? ??? ? ? ? ? a|b? ?或者? ? ?lo( able|re)組字符? ?

( ...)( ...) 匹配稍后將要使用的標簽 和?\1\2\3一起使用? ?x{m}? ??x{m, }??x{m,n}

POXIX字符集

[:alnum:] 字母與數字字符? ? ?[:alpha:] 字母字符? ? [:blank:]? 空格與制表符

[:digit:]數字字母? ? ? ? ? ? ? ? ? ?[:lower:]? 小寫字母? ? [:upper:]? 大寫字母

[:punct:] 標點符號? ?[:space:] 包括換行符、回車等在內的所有空白

空行? /^$/? ?/^[\t]*$/? ? ? 注釋行 /^#/?? /^[\t]*#/

?

?

grep? -i? 忽略大小寫? ? -l只列出匹配行所在的文件名? ?-n在每一行前面加上他所在文件中的相對行號

? ? ? ? ?-c? 顯示匹配成功的行數? ?-s 禁止顯示文件不存在或者文件不可讀的錯誤信息

? ? ? ? ?-q靜默? ? -v反向查找? ?-R遞歸? ?-o顯示匹配的行??

? ? 找到返回0? 沒有找到返回1? ? 找不到文件路徑返回2

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535626.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535626.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535626.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GC 垃圾回收

垃圾回收機制是由垃圾收集器Garbage Collection GC來實現的&#xff0c;GC是后臺的守護進程。它的特別之處是它是一個低優先級進程&#xff0c;但是可以根據內存的使用情況動態的調整他的優先級。因此&#xff0c;它是在內存中低到一定限度時才會自動運行&#xff0c;從而實現對…

如何讓你變得魅力十足

我們每個人都希望自己在某些方面對他人來說是有用的。我們渴望那種被人需要的感覺&#xff0c;覺得自己是有能力的&#xff0c;就像我們在某方面很與眾不同&#xff0c;很獨特一樣。 有些人非常有吸引力。他們是那些每當需要幫助便會被想起的人。他們是那些另你覺得非常有幫助…

日志linux

syslog日志系統&#xff1a; syslogd 系統&#xff0c;非內核產生的信息 man 2 syslog klogd 內核&#xff0c;專門負責內核產生的信息 man 3 syslog /var/log/messages 系統標準錯誤日志信息&#xff0c;非內核 syslogd /var/log/dmesg klogd 共同配置文件etc/…

sysbench的安裝和做性能測試

sysbench是一個模塊化的、跨平臺、多線程基準測試工具&#xff0c;主要用于評估測試各種不同系統參數下的數據庫負載情況。關于這個項目的詳細介紹請看&#xff1a;http://sysbench.sourceforge.net。它主要包括以下幾種方式的測試&#xff1a;1、cpu性能2、磁盤io性能3、調度程…

加密解密

PKI public key Infrastructure 公鑰基礎設施 CRl 證書吊銷列表 CA證書頒發機構 Certificate Authority x509 證書 包括公鑰、過期時間、證書的合法擁有者、證書如何被使用 CA的信息 CA的校驗碼等等 Pki實現方式 TLS/ssl:x509 opengpg ssl安全的套接字層…

高性能MySQL(1)——MYSQL架構

MySQL最重要、最與眾不同的特性是它的存儲引擎架構&#xff0c;這種架構將查詢處理與數據的存儲/提取相分離&#xff0c;使得可以在使用時根據不同的需求來選擇數據存儲的方式。 一、Mysql邏輯架構 如果能在頭腦中構建出一幅MySQL各組件之間如何協同工作的架構圖&#xff0c;就…

數據庫設計中的14個關鍵技巧

1. 原始單據與實體之間的關系  可以是一對一、一對多、多對多的關系。在一般情況下&#xff0c;它們是一對一的關系&#xff1a;即一張原始單據對應且只對應一個實體。在特殊情況下&#xff0c;它們可能是一對多或多對一的關系&#xff0c;即一張原始單證對應多個實體&#xf…

高性能MySQL(2)——Schema與數據類型的優化

良好的邏輯設計和物理設計是高性能的基石&#xff0c;應該根據系統將要執行的查詢語句來設計 schema,這往往需要權衡各種因素。 一、選擇優化的數據類型 MySQL支持的數據類型非常多&#xff0c;選擇正確的數據類型對于獲得高性能至關重要。不管 存儲哪種類型的數據&#xff0c…

用戶權限sudo、suid、sgid以及facl等

su 切換用戶或以指定用戶運行命令。 使用su可以指定運行命令的身份(user/group/uid/gid)。 為了向后兼容&#xff0c;su默認不會改變當前目錄&#xff0c;且僅設置HOME和SHELL這兩個環境變量(若目標用戶非root&#xff0c;則還設置USER和LOGNAME環境變量)。推薦使用--login選項…

MySQL 服務器調優

關于 MySQL 調優 有 3 種方法可以加快 MySQL 服務器的運行速度&#xff0c;效率從低到高依次為&#xff1a; 替換有問題的硬件。 對 MySQL 進程的設置進行調優。 對查詢進行優化。 替換有問題的硬件通常是我們的第一考慮&#xff0c;主要原因是數據庫會占用大量資源。不過這…

通過腳本啟動批量服務

/app/all_start_script/wwyt/此目錄服務如下&#xff1a;apigateway.sh auth.sh config.sh register.sh zipkin.sh /app/all_start_script/other/此目錄服務如下&#xff1a; tomcat.sh wwyt_base.sh wwyt_cache.sh wwyt_flow.sh wwyt_risk_login.sh ww…

高性能MySQL(3)——創建高性能索引

索引對于良好的性能非常關鍵。尤其是當表中的數據量越來越大時&#xff0c;索引對性能的影響愈發重要。 一、索引的類型 在MySQL中&#xff0c;索引是在存儲引擎層而不是服務器層實現的。所以沒用統一的索引標準&#xff0c;不同存儲引擎的索引工作方式并不相同。 1.1、B-Tre…

linux 調優系列

Linux系統內核:修改TCP/IP調優參數 所有的TCP/IP調優參數都位于/proc/sys/net/目錄。例如, 下面是最重要的一些調優參數, 后面是它們的含義: 1. /proc/sys/net/core/rmem_max — 最大的TCP數據接收緩沖。 2. /proc/sys/net/core/wmem_max — 最大的TCP數據發送緩沖。 3.…

java中的構造方法與代碼塊

一、構造方法 1.1、java中的構造方法跟普通方法有很大的區別&#xff1a; 構造方法的方法名跟類名相同構造方法沒有返回值類型,連void也沒有,也不能用return返回值每次創建一個對象,都會調用構造方法,如果沒有寫構造方法,系統會默認加上一個空參的構造,如果已經寫了構造方法,…

bash shell是如何識別特殊符號的

一 、 shell命令解析以及識別通配符 Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行 。 實際上Shell是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內核。不僅如此,Shell有自己的編程語言用于對命令的編…

linux 調優系列(續)

linux 的各大發行版&#xff0c;都有些不必要的服務被默認開啟了&#xff0c;針對ubuntu&#xff0c;我們 可以采用選擇性關閉的方法加速起動&#xff0c;提高系統性能。 這里我們安裝一個軟件&#xff1a; sudo apt-get install sysv-rc-conf 然后這樣起動&#xff1a; 在這個…

配置文件bashrc與profile的區別

1、當登入系統時候獲得-個shell進程時&#xff0c;其讀取環境設定檔有三步 首先讀入的是全局環境變量設定檔/ete/profile,然后根據其內容讀取額外的設定的文檔&#xff0c;如/etc/profile. d和/ etc/ inputre 然后根據不同使用者帳號&#xff0c;去其家目錄讀取, bash, pr…

高性能MySQL(4)——查詢性能優化

査詢優化、索引優化、庫表結構優化需要齊頭并進&#xff0c;一個不落。 一、為什么查詢速度為變慢 在嘗試編寫快速的查詢之前,需要清楚一點,真正重要是響應時間。如果把查詢看作是一個任務&#xff0c;那么他由一系列子任務組成&#xff0c;每個子任務都會消耗一定的時間。如果…

GooglePerformanceTools--tcmalloc

TCmalloc全稱是Thread-Caching malloc&#xff0c;作者宣稱tcmalloc相對于glibc2.3 malloc(aka ptmalloc2)有6倍的性能提高&#xff0c;tcmalloc的常用場景是用于加速MySQL&#xff0c;不過據Wikipedia的hacker Domas Mituzas說&#xff0c;tcmalloc不僅僅對MySQL起作用&#x…

linux基本命令以及命令常用選項

linux基本命令以及命令常用選項touch 創建文件&#xff0c;改變恩建時間戳&#xff0c;如果直接跟上一個文件&#xff0c;該文件不存在則創建文件-c文件不存在不創建文件&#xff0c;存在則改變文件的時間戳-a只改變文件的訪問時間-m改變文件的修改時間-t時間格式CCYYMMDDhhmm…