正則表達式學習筆記

1、使用Vim編輯器將==、>=、<=、!=這四個比較符號量變的單詞交換位置

注意:該命令僅能交換比較符號左右兩邊都是單個變量的情況,如有函數或者數組之類的情況,請輸入n不交換。

vim底行命令:

:%s#\(\w\+\)\([!><=]=\)\(\w\+\)#\3\2\1#gc

命令解釋:

1. %           表示整個文件,等價於  1,$
2. s           替換命令
3. #           分隔符,也可以用反斜槓或者冒號,推薦用井號,不然很多場景正則表達式各種轉義跟分隔符會看瘋你
4. \(\w\+\)    匹配一整個單詞,正則表達式中可以用\(和\)將一個整體的表達式括起來,而\w\+表示整個單詞
5. [!><=]=     不再解釋了
6. \3\2\1      前面兩個#之間有三個\(和\)括起來的表達式,左到右一次爲1、2、3,現在3跟1交換位置,表示前面的表達式3和表達式1交換位置
7. g           全局替換
8. c           替換前詢問,輸入y表示同意替換,n表示不替換。

2、linux刪除某個特定文件之外的其他所有文件

如題:
當前目錄下有如下文件:
aaa11111111111.c
aaa222222.c
aaa33333333.c
aaabbb.c
lsy.c
makefile
當前需要僅保留lsy.c makefile aaab.c其他全部刪除,該使用什麼正則表達式來進行匹配

命令:rm aaa!(bbb).c -rf

命令解釋:

 !()表示對括號中的表達式取反,該命令的意思就是:刪除【aaa】開頭,【.c】結尾切中間不是bbb的所有其他文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章