Linux之文字處理

2021-09-24 03:53:30 字數 2947 閱讀 1644

在linux系統中,即使在控制台命令列狀態下,也需要進行大量的文字處理工作。linux系統中幾乎所有的配置檔案都是以純文字形式存在的,我們也要對這些檔案進行編輯工作。linux上常見的文字編輯器有vi、vim、ed、gedit、emacs等。本章介紹的文字編輯器就是平常使用最多的vim文字處理器。

vim簡介

在命令列輸入vim

[root@bogon desktop]# vim
出現以下介面就是vim編輯器的介面

vim有三種工作模式

1.命令模式

使用vim開啟任何乙個檔案,如

[root@localhost tmp]# vim sdn蜀道難

進入vi編輯器時,首先進入命令模式(command mode)。在命令模式下,從鍵盤輸入任何字元都被當作命令來解釋。在命令模式下,可以完成複製、貼上、選擇、刪除、撤銷等命令。輸入命令後vim會立即執行,不需要回車,而且輸入的字元不會在螢幕上顯示出來。

2.插入模式

主要用於文字的編輯。該模式下使用者輸入的任何字元都被作為檔案的內容儲存起來,並在螢幕上顯示出來。進去命令模式後,按字母i鍵或a鍵,進入插入模式。

插入模式有乙個–insert–標識

在插入模式下,輸入esc鍵會返回到命令模式。

3.末行模式

命令模式下的命令可以完成很多功能,但要執行一些如儲存當前修改並繼續編輯、儲存並退出vim環境、不儲存修改退出vim環境、顯示行號等操作還是必須要進入末行模式。在命令模式下使用者可以按鍵盤的shift加:進入末行模式,在末行模式下我們可以進行儲存修改或退出vim,也可以環境設定、列出行號、尋找字串等對檔案進行一些高階處理。

底行模式在開啟vi編輯器後,檔案的下面,有乙個標識

在末行模式下按esc鍵會退回命令模式

vim編輯器使用

命令模式下

命令操作

yy複製當前行

y0複製當前字元到當前行的起始

y$複製當前字元到當前行的末尾

yg複製當前行到檔案末尾的內容

n+yy

複製n行p貼上

x刪除當前字元

x刪除前乙個字元

dd刪除當前行

d$刪除當前字元到當前行的末尾

d0刪除當前字元到當前行的開始

dg刪除當前行到檔案末尾

u撤銷上乙個操作

r替換當前字元

h或左方向鍵

左移一位

l(小寫l)或右方向鍵

右移一位

j或下方向鍵

下移一位

k或上方向鍵

上移一位

^移動到游標所在行的「行首」

$移動到游標所在行的「行尾」

gg移動到檔案開頭

g移動到檔案最後

w移動到下個單詞的開頭

b移動到上個單詞的開頭

e移動到當前單詞的字尾

h移動到螢幕最上面一行

m移動到螢幕中間一行

l移動到螢幕最下面一行

插入模式

在命令列模式下按一下字母i或a就可以進入插入模式,這時候你就可以開始輸入文字了。

末行模式

在命令模式下按":"鍵進入末行模式

末行模式的常用命令操作

命令退出方式

:w 檔名

以指定的檔名儲存,並退出,類似於另存為。

:w儲存當前修改,還可以繼續編輯

:wq儲存當前修改,並退出vim環境

:q退出vim環境(如果當前檔案發生修改,將無法儲存)

:q!不儲存當前修改,並退出vim環境

:x儲存當前修改,並退出vim環境。相當於:wq的意思

zz儲存當前修改,並退出vim環境。相當於:wq的意思

:set number

顯示行號,簡寫為:set nu。注意,vi關閉後行號將不再顯示

:!系統命令 執行乙個系統命令並顯示結果,如在vim下需要執行ls時,可以使用:! ls

:sh切換到命令列

查詢和替換

命令組成

含義%s

確定操作範圍,%代表從文字的第一行到最後一行

s執行替換操作

/+/-

搜尋和替換的文字(搜尋字母+,替換字母-)

g對搜尋到每一行的每乙個例項進行替換;如果g缺失,則只替換每一行第乙個符合條件的例項。

則在每次替換前都會請求使用者確認,在螢幕最下方會出現如下內容。

replace with r (y/n/a/q/l/^e/^y)?
字元含義y

執行替換

n跳過此次替換

a執行此次替換以及之後的所有替換

q停止替換

l(小寫l)

執行此次替換以及之後的所有替換

^e(ctrl+e)

^e表示向下滾動

^y(ctrl+y)

^y表示向上滾動

常用的替換命令:

命令說明

:s/vivian/sky/替換當前行第乙個 vivian 為 sky

:s/vivian/sky/g替換當前行所有 vivian 為 sky

:%s/vivian/sky/

替換每一行的第乙個 vivian 為 sky

:%s/vivian/sky/g

替換每一行中所有 vivian 為 sky

linux 文字處理

1.文字處理 echo echo e 033 40 35m.背景顏色範圍 40 49 40 黑 41 深紅 42 綠 43 黃色 44 藍色 45 紫色 46 深綠 47 百色 字型顏色範圍 30 39 30 黑 31 紅 32 綠 33 黃 34 藍色 35 紫色 36 深綠 37 百色 eg e...

Linux 文字處理

author janloong do o cat 連線檔案並且列印到標準輸出 sort 給文字行排序 uniq 報告或者省略重複行 cut 從每行中刪除文字區域 paste 合併檔案文字行 join 基於某個共享欄位來聯合兩個檔案的文字行 comm 逐行比較兩個有序的檔案 diff 逐行比較檔案 p...

linux文字處理之awk

最簡單地說,awk 是一種用於處理文字的程式語言工具。awk 在很多方面類似於 shell 程式語言,儘管 awk 具有完全屬於其本身的語法。它的設計思想 於 snobol4 sed marc rochkind設計的有效性語言 語言工具 yacc 和 lex 當然還從 c 語言中獲取了一些優秀的思想...