grep 和vim用法


grep :文本過濾( 模式:pattern) 工具

包括:grep, egrep, fgrep 

用法格式: grep [OPTIONS] PATTERN [FILE…]

                    模式:由正則表達式字符及文本字符所編寫的過濾條件

 各種選項:  -–color=auto :     顯示匹配的文本着色,centos7已經自動匹配紅色

                   -b              :     顯示不被模式匹配的行

                   -i     :忽略字符大小寫               

            -n   :  顯示匹配的行號                      

       -v :     統計匹配到的行數

                   -o    :僅顯示匹配到的字串           

       -q  :靜默模式,不輸出任何信息  

                    -A #   -B #    -C #     :  顯示模式匹配到的前后行數,after、before、context前后各#行

                    -e   :  實現多個選項間的邏輯or關系   grep –e ‘cat ’ -e ‘dog’ file

                    -E   : 擴展正則表達式                          -w   : 整行匹配整個單詞

                    -F   :fgrep,不支持正則表達式

             grep使用通配符,有些符號需要轉義,擴展正則表達式則不需要,兩者其他功能一樣

擴展正則表達式:egrep     支持元字符、通配符等,和文件名通配稍微有點區別:使用egrep,轉義符\不需要

               .     匹配任意單個字符                          []     匹配指定范圍內的任意單個字符

               *    匹配 前面的字符任意次,包括0次     貪婪模式:盡可能長的匹配
                \?  匹配 其前面的字符0 或1次                        \+  匹配 其前面的字符至少1次

                \{m,n\}  匹配 前面的字符至少m 次,至多n次

位置錨定:

         ^$  :   ^行首錨定,$行尾錨定。合在一起就是空行的意思                    

    ^[[:space:]]*$ 空白行^[[

           

          \b  詞首錨定,用於單詞模式的左側 ; 詞尾錨定;用於單詞模式的右側

            \<PATTERN\>   匹配整個單詞

     分組后向引用有點難理解:分組括號中的模式匹配到的內容會被正則表達式引擎記錄於內部的變量中,這些變量的命名方式為: \1, \2, \3, …
              exam:  egrep  (string1)(string2)\1\2      \1表示引用第一個字符串,\2表示引用第二個字符串

              如果使用grep ,括號需要轉義\(\);

              或者的邏輯關系:  a|b: a或b           C|cat: C 或cat                 (C|c)at:Cat 或cat

 

vim編輯器基本使用,

                vim  [OPTION]… FILE…                如果該文件存在,文件被打開並顯示內容

                                                                 如果該文件不存在,當編輯后第一次存盤時創建它

                參數使用了解即可,接觸不到幾個。

 

三種主要模式: 命令模式、輸入模式、末行模式          Esc鍵 退出當前模式總是返回到命令模式

                                   

命令模式轉換插入模式:

                  i     : insert,  在光標所在處輸入        

                  a    : append,  在光標所在處后面輸入 

                  o    :  在當前光標所在行的下方打開一個新行   

                大寫I,A,O,表示在光標行首輸入、光標行尾輸入、所在行上分打開新行

注意:插入模式和末行模式是不能直接轉換,需要通過命令模式中轉, 

            支持鎖定和解鎖,和鎖定linux一樣, 只是不顯示而已,實際還能輸入

            :q  退出             :q!  強制退出,丟棄做出的修改

            :wq   保存退出        :wq!   強制保存退出         建議使用這些退出方式,其他退出方式操作快,危險

在末行模式下:

            r filename      讀文件內容到當前文件中

            w filename 將當前文件內容寫入另一個文件

            !command  執行命令

            r!command  讀入命令的輸出

命令模式的光標跳轉:

            H :頁首 M行 :頁中間行 L: 頁底

             h: 左 左 l: 右 右 j: 下 下 k: 上    (習慣使用方向鍵也行)  還可以單詞跳轉:w、e、 b

             ^:  跳轉至行首的第一個非空白字符           $:  跳轉至行尾               0:   跳轉至行首

             G :最后一行     #G :跳轉指定#行                     gg: 第一行

             Ctrl+f    向尾部翻一屏        Ctrl+b      向首部翻一屏      

             dd :  刪除光標所在行          yy:復制光標所在行         p,P:  粘貼復制的整行,也可以粘貼刪除的字符

             ~ : 大小寫替換

            還有查找替換功能:s/string/string2/g              g:  全局替換         查找替換中的分隔符/ 可替換為其它字符

u 撤銷更改    ctrl+r 撤銷最近的修改

.,$d 光標后全刪了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM