Linux文件過濾及內容編輯處理


學習一下Linux文件過濾及內容編輯處理,暫時記錄部分內容,后續補充。

純文本編輯器vi/vim

vim是從vi發展出來的一個文本編輯器,但發現到現在已經不僅僅是一個文本編輯器了,還具有代碼補全、編譯等適用於編程的功能出現。vim具有三種模式,分別為命令模式(Command mode)、編輯模式(Insert mode)和底行模式(Lastline mode),其三者存在如下的轉換方式。

如下圖所示,使用vim命令進入命令模式后,有i、a、o三種方式進入編輯模式,其中i代表光標停留在當前光標,a代表往當前光標后移動一位光標,o代表換下行移動光標,暫時只了解這三種。

i:insert

a:append

o:

另外一個是底行模式下命令,除了wq外,還有wq!、q、q!等,其具體意思如下:

(1)wq,write and quite,保存並退出

(2)wq!!是強制的意思,代表強制保存並退出

(3)q 退出不保存

(4)q! 強制退出不保存

(5)set nu 顯示行號

(6)set nonu 不顯示行號

vim還有一些基本常見命令,記錄如下,不區分模式。

進入行首行尾

為了方便更好的理解vim命令,使用echo命令先將部分文本寫入到test.txt文件,並換行輸出。

按$進入當前行尾,按0進入當前行首,具體操作體會。

文件開頭結尾

按gg進入文件開頭,數字+gg進入第多少行,按G進入文件尾部,如圖按下G后進入到了31行。

搜索

/+搜索內容為向下搜索,繼續向下搜按n,反向按N

?+搜索內容為向上搜索,繼續向上搜按n,反向按N

替換

:%s/A/B/g,s代表替換,A是被替換的元素,B是替換后的元素,g是全局替換的意思,g換成數字代表只替換第數字代表的列,其中斜線可以用其他分隔符,如使用#也可以實現。

如下圖使用了%s/chaolin/pengfei/g命令后變成如下結果。

:M,Ns/A/B/g,這個代表替換M~N行的內容,跟上面類似,只是指定行替換內容。

 如下圖所示將1~10行將yang修改為YANG。

刪除或剪切

刪除或剪切單行按dd,刪除多行按數字+dd。

如下圖使用25gg先去到25行,然后使用25dd刪除了25行后面的行。

撤銷返回

按u就可以返回。

復制粘貼

單行復制按yy,p粘貼,多行復制數字+yy,p粘貼,粘貼時光標位置移動到要粘貼位置的前一行上。

如下圖將光標移動到第30行按yy,然后將光標在第30行上按p,就自動粘貼到下一行上。

cat命令

cat命令就是查看文件內容命令,cat - concatenate files and print on the standard output,連接文件打印標准輸出。如果想顯示行號,使用參數-n。

more命令

more是可以分頁查看文件內容命令,按回車往下走,按空格就是翻頁走,不能回着看,按q退出。

less命令

less也是可以分頁查看文件內容得命令,按回車往下走,按空格就是翻頁走,可以回着看,按q退出。

head命令

輸出文件的頭部,默認顯示10行,可以使用參數-n+數字來表示自定義行數。

tail命令

輸出文件的尾部,也是默認顯示10行,可以使用參數-n+數字來表示自定義行數,也可以使用參數-f顯示文件尾部實時更新,即tail -f 文件名這個在MES中經常使用查看log實時變化。

如另外連接linux后,使用echo hello >>test.txt命令不斷往test.txt文件尾部添加hello后,原來xshell窗口在使用tail -f test.txt命令后呈現的結果如下圖。

不斷append元素到文件結尾

tail -f test.txt后可以看到實時變化

tac命令

跟cat相反,倒過來顯示文件內容,tac - concatenate and print files in reverse。

如下圖文件頭尾顛倒着顯示。

rev命令

反轉顯示每行內容,rev - reverse lines of a file or files,如下所示。

總結

Linux命令很強大,繼續學習吧。

 

參考博文:

(1)https://www.cnblogs.com/yangjig/p/6014198.html

(2)https://www.cnblogs.com/youngchaolin/p/10962089.html#_label5

 


免責聲明!

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



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