vim 如何在行首/行尾添加字符 , 如何替換文件的字符。sed命令 如何替換文件的字符,或者在文件的選定字符前后添加內容。


首先我們介紹有關於vim和sed 共同的參數選擇

我們先列舉每個代表的意思,下面會詳細介紹用法:

a :新增, a 的后面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c :取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!
d :刪除,因為是刪除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而這些字串會在新的一行出現(目前的上一行);
s :取代,可以直接進行取代的工作哩!

再來看我們原始的文件樣式:

一、vim如何在行首/行尾添加字符 , 如何替換文件的字符

1、vim如何在行首/行尾添加字符 刪除字符
1)行首/行尾添加字符

:%s/^/Y/g 其中%表示所有行,s表示替換,^代表行首,也可以用$代表行尾。其中%s 也可以使用1,2s替換代表第一行第二行進行添加,例如1,2s/^/Y/g

舉個栗子:2,4s/$/#good/g:

2)行首/行尾刪除字符

:%s/^.\{n\} // 刪除行首n個字符

其中正則表達式"/^.\{n\}//"中,. 表示要刪除的字符個數,".{n}"表示刪除n個字符,可用n個"."表示;

:%s/.\{n\}$// 刪除行尾n個字符

舉個栗子:1,3s/.\{4\}$//

2、 如何替換文件的字符

%s/X/Y/g 其中X代表要被替代的字符,Y代表替換X的字符

g 放在命令末尾,表示對搜索字符串的每次出現進行替換;不加 g,表示只對搜索

字符串的所在行首次出現進行替換;g 放在命令開頭,表示對正文中所有包含搜索字符串的行進行替換操作。

舉個栗子:2,3s/test/good/g:

此外
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符,此種用法可在c++多行注釋下使用

二、sed 命令直接替換文件中的字符

sed是一個“非交互式的”面向字符流的編輯器。能同時處理多個文件多行的內容,可以不對原文件改動,把整個文件輸入到屏幕,可以把只匹配到模式的內容輸入到屏幕上。還可以對原文件改動,但是不會再屏幕上返回結果。

sed命令的語法格式:

sed的命令格式: sed [option] 'sed command' filename

sed的腳本格式:sed [option] -f 'sed script' filename

sed命令的選項(option):

-n :只打印模式匹配的行

-e :直接在命令行模式上進行sed動作編輯,此為默認選項

-f :將sed的動作寫在一個文件內,用–f filename 執行filename內的sed動作

-r :支持擴展表達式

-i :直接修改文件內容

結合我們一開始提到的選項內表達式,我們現在可以進行簡單的sed操作。

1)替換文件中的字符:

舉個栗子1:sed -i s/test/good/g test_for_vim_sed //替換文件中所有的test為good 並且該操作 作用於文件本身。去掉-i 只是將操作結果打印到終端。(保存文件名為test_for_vim_sed)

舉個栗子2:sed -i 1,2cgoodjob test_for_vim_sed //替換文件中第一第二行 為goodjob,兩行變一行

舉個栗子3:sed -i 1,2agoodjob test_for_vim_sed //在文件中第一和第二行的下一行添加goodjob,總共四行。

其中刪除行首和行尾元素 可以參考vim的用法。兩者很相似,有關sed的高級用法可以參考博客:

https://www.cnblogs.com/ctaixw/p/5860221.html


免責聲明!

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



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