使用Emacs刪除重複行

 Emacs24.4開始有了一個新的命令:delete-duplicate-lines

M-x delete-duplicate-lines會刪除選中region中的重複行. 舉個例子,假設選中的region爲:

             test 
             dup  
             dup  
             one  
12345678910  two  
             one  
             three
             one  
             test 
             five

則,在執行M-x delete-duplicate-lines後,region的內容變爲:

        test 
        dup  
123456  one  
        two  
        three
        five

默認情況下若存在多個重複行,則從上到下第一次出現的行會保留下來. 若想保留的是最後一次出現的行,則使用C-u M-x delete-duplicate-lines.  這樣的話,region會變爲:

        dup  
        two  
123456  three
        one  
        test 
        five

注意到:與UNIX的uniq命令不同的是,在判斷重複行時,並不要求重複行是相互毗鄰的,若要實現類似uniq的效果,可以使用C-u C-u M-x delete-duplicate-lines.

若要保留重複的空白行,則需要使用C-u C-u C-u M-x delete-duplicate-lines 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章