Shell 修改文件內(nèi)容 sed
詳情地址:? https://www.xiaobuteach.com/shell/auto/sed.html?from=bili
Shell 修改文件內(nèi)容 sed
sed命令用于修改已有文件的內(nèi)容。
vim是文件編輯器,通常需要用戶多次交互操作完成文件內(nèi)容的修改。
sed命令是一條命令直接完成修改文件內(nèi)容。
通常改動(dòng)都是很小的改動(dòng)。
1 體驗(yàn)
準(zhǔn)備數(shù)據(jù):
文件data1.txt,內(nèi)容如下:
111
222
333
444
555
666
例1:文件的第2行之后添加內(nèi)容bbb。
sed '2abbb' data1.txt
2abbb說明
第1個(gè)字符2表示第2行;
第2個(gè)字符a表示添加操作(append);
后續(xù)內(nèi)容bbb表示添加的內(nèi)容。

修改后內(nèi)容顯示在界面,查看文件內(nèi)容,沒有修改。
sed命令默認(rèn)選項(xiàng)不真正修改文件。
體驗(yàn)先到這里。
2 語法
sed 選項(xiàng) 修改命令 文件
針對 文件 進(jìn)行 修改命令 對應(yīng)的修改。
修改命令有自己的一套語法。?因?yàn)樾薷拿钭址?,要能說明各種修改場景(各種位置/增刪改/文本內(nèi)容等)。
修改命令的語法是我們學(xué)習(xí)的重點(diǎn)。
3 主要選項(xiàng)
主要選項(xiàng)說明-e默認(rèn)選項(xiàng)。不修改文件內(nèi)容,只輸出顯示。-i修改文件內(nèi)容
4 真正的修改文件
例2:文件的第2行之后添加內(nèi)容bbb,真正的修改文件。
sed -i '2abbb' data1.txt
-i表示修改后內(nèi)容不輸出到界面,輸出到文件,也就是真正修改文件。

界面沒有輸出內(nèi)容,查看文件內(nèi)容,已修改。