Shell學習之結合正則表達式與通配符的使用(五)

?

?

Shell學習之結合正則表達式與通配符的使用

?

目錄

通配符

  • 正則表達式與通配符
  • 通配符
  • 通配符的使用

正則表達式

  • 正則表達式
  • 正則表達式的使用

?

?

?通配符

?

?

正則表達式與通配符

?

正則表達式用來在文件中匹配符合條件的字符串,正則是包含匹配。grep、awk、sed等命令可以支持正則表達式。通配符用來匹配符合條件的文件名,通配符是完全匹配。ls、find、cp這些命令不支持正則表達式,所以只能使用shell自己的通配符來就行匹配。

  

?

通配符

符號	作用
*	匹配任何字符串/文本,包括空字符串;*代表任意字符(0個或多個) ls file *
?	匹配任何一個字符(不在括號內時)?代表人意1個字符 ls file 0
[abcd]	匹配abcd中任何一個字符
[a-z]	表示范圍a到z,表示范圍的意思 []匹配中括號中任意一個字符 ls file 0
{..}	表示生成序列。以逗號分隔,且不能有空格
補充	 
[!abcd]	或[^abcd]表示非,表示不匹配括號里面的任何一個字符

  

?

通配符的使用

?

? 匹配任何一個字符

ls /bin/???ls /bin/??

?

?[abcd] 表示匹配中括號內任意一個字符就成

ls te[asb]t

?

?{}生成序列

touch {a..c}

?

匹配文件

ls [a-c]

?

利用{}備份數據庫?

表示將ae復制一份叫做affff
cp a{e,fff}表示將ae做備份叫做ae.bak
cp a{e,e.bak}

  

?

?

!^表示非,取反

查找文件名里沒有a和e的文件名
ls [!ae]ls [^ae]

  

?

?

?

正則表達式

?

?

正則表達式

?

?

?

正則表達式的使用

?

"*" 前一個字符匹配0次,或者任意多次匹配至少包含有一個a的行
grep "aa*" test.txt匹配至少包含有兩個a的行
grep "aaa*""."匹配除了換行符以外任意一個字符匹配所有內容
grep ".*" test.txt匹配在s與d之間一定有兩個字符的單詞
grep "s..d" test.txt匹配在s與d之間有任意字符
grep "s.*d" test.txt"^"匹配行首,"$"匹配行尾匹配空白行
grep "^$" test.txt匹配以大寫字母M開頭的行
grep "^M" test.txt匹配以小寫字母m結尾的行
grep "m$" test.txt"[]'匹配中括號中指定的任意一個字符,只匹配一個字符
匹配s和i字母中,要不是a、要不是b
grep "s[ao]id" test.txt匹配任意一個數字
grep "[0-9]" test.txt匹配用小寫字母開頭的行
grep "^[a-z]" test.txt"[^]"匹配除中括號的字符以外的任意一個字符
匹配不用小寫字母開頭的行
grep "[^a-z]" test.txt匹配不用字母開頭的行
grep "^[^a-zA-Z]" test.txt
"\" 轉義符
匹配以點結尾的行
grep "\.$" test.txt"\{n\}" 表示其前面的字符恰好出現n次匹配a字母連續出現三次的字符串
grep "a\{3\}" test.txt匹配包含連續的三個數字的字符串
grep "[0-9]\{3\}" test.txt"\{n,\}" 表示其前面的字符出現不小于n次匹配最少用連續三個數字開頭的行
grep "^[0-9]\{3,\}[a-z]" test.txt"\{n,m\}'匹配其前面的字符至少出現n次,最多出現m次匹配在字母s和字母i之間有最少一個a,最多三個a
grep "sa\{1,3\}i" test.txt

  

轉載于:https://www.cnblogs.com/-wenli/p/10385468.html

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

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

相關文章

Mybatis源碼閱讀(四):核心接口4.2——Executor(上)

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

接收xml參數_SpringBoot實戰(二):接收xml請求

強烈推薦一個大神的人工智能的教程:http://www.captainbed.net/zhanghan【前言】最近在對接一個第三方系統,需要接收第三方系統的回調,而且格式為XML形式,之前自己一般接收的參數是Json形式,于是乎做個實驗驗證一下使用…

報錯 插入更新_window如何解決mysql數據量過大導致的報錯

window如何解決報錯“The total number of locks exceeds the lock table size”第一大步,查看mysql配置信息在CMD中輸入mysql -hlocalhost -uroot -p #如果設置了密碼直接接在p 后面 show variables like %storage_engine%以下為結果可以看到InnoDB是MySQL的默認引…

148. Sort List

Sort a linked list in O(n log n) time using constant space complexity. Example 1: Input: 4->2->1->3 Output: 1->2->3->4 Example 2: Input: -1->5->3->4->0 Output: -1->0->3->4->5難度:medium 題目:排…

Mybatis源碼閱讀(四):核心接口4.2——Executor(下)

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

python解橢圓方程的例題_橢圓標準方程典型例題及練習題

橢圓標準方程典型例題例1已知P 點在以坐標軸為對稱軸的橢圓上,點P 到兩焦點的距離分別為354和352,過P 點作焦點所在軸的垂線,它恰好過橢圓的一個焦點,求橢圓方程. 解:設兩焦點為1F 、2F ,且3541…

leetcode393. UTF-8 Validation

題目要求 A character in UTF8 can be from 1 to 4 bytes long, subjected to the following rules:For 1-byte character, the first bit is a 0, followed by its unicode code. For n-bytes character, the first n-bits are all ones, the n1 bit is 0, followed by n-1 by…

Mybatis源碼閱讀(五 ):接口層——SqlSession

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

插入公式_一個小工具,徹底幫你搞定在Markdown中插入公式的問題

在編輯Markdown文檔時,插入公式是一個挺麻煩的活兒。需要掌握LaTex語法。我自己看完語法后,直接放棄,這絕對是反人類的語法。(好吧,是我不會用...)但是,我相信你看了這篇文章后,絕對…

JavaScript數據結構與算法——字典

1.字典數據結構 在字典中,存儲的是【鍵,值】對,其中鍵名是用來查詢特定元素的。字典和集合很相似,集合以【值,值】的形式存儲,字典則是用【鍵,值】對的形式存儲。字典也稱作映射。 2.創建字典 f…

Mybatis源碼閱讀(一):Mybatis初始化1.2 —— 解析別名、插件、對象工廠、反射工具箱、環境

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

中西方對時間的差異_中西方時間觀念差異 英文

The concept of time(時間觀念)①Inchina,words and phrases about time are very general. Forexample,ifyoudatewithsomeone,mostofChineseusedtoanswer: in the afternoon /at night/after a while and so on.Butinwestern,peoplehaveaverystrongconc…

Google 修改 Chrome API,防止隱身模式檢測

開發四年只會寫業務代碼,分布式高并發都不會還做程序員? 在使用 Chrome 瀏覽網頁時,某些網站會使用某種方法來確定訪問者是否處于隱身模式,這是一種隱私泄漏行為。Google 目前正在考慮修改 Chrome 的相關 API,來杜絕…

Mybatis源碼閱讀(一):Mybatis初始化1.1 解析properties、settings

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

亞馬遜推薦python_使用python查找amazon類別

我想得到amazon的類別,我計劃廢棄不用API。我已經取消了http://www.amazon.com,我已經在Shop By Department下拉列表中抓取了所有的類別和子類別,我創建了一個web服務來完成這項工作,代碼就在這里route(/hello)def hello():textli…

JavaScript異步基礎

唯一比不知道代碼為什么崩潰更可怕的事情是,不知道為什么一開始它是工作的!在 ECMA 規范的最近幾次版本里不斷有新成員加入,尤其在處理異步的問題上,更是不斷推陳出新。然而,我們在享受便利的同時,也應該了…

Flutter、ReactNative、uniapp對比

*************************************優雅的分割線 ********************************** 分享一波:程序員賺外快-必看的巔峰干貨 如果以上內容對你覺得有用,并想獲取更多的賺錢方式和免費的技術教程 請關注微信公眾號:HB荷包 一個能讓你學習技術和賺錢方法的公眾號,持續更…

JavaScript數組方法

一、基本類型和引用類型 數值、字符串、布爾值、undefined、null可以直接寫出來,比較簡單的數據稱為基本類型,在比較的時候,是直接按值比較。對象、函數、數組復雜的數據是引用類型,在比較的時候,是按照地址比較。cons…

nodejs mysql模塊_NodeJs使用Mysql模塊實現事務處理

依賴模塊:1. mysql:https://github.com/felixge/node-mysqlnpm install mysql --save2. async:https://github.com/caolan/asyncnpm install async --save(ps: async模塊可換成其它Promise模塊如bluebird、q等)因為Node.js的mysql模塊本身對于…

計數排序vs基數排序vs桶排序

從計數排序說起 計數排序是一種非基于元素比較的排序算法,而是將待排序數組元素轉化為計數數組的索引值,從而間接使待排序數組具有順序性。 計數排序的實現一般有兩種形式:基于輔助數組和基于桶排序。 基于輔助數組 整個過程包含三個數組&…