linux-sed

sed: Stream Editor文本編輯器,面向字符流, 一次處理一行內(nèi)容,處理時,將當(dāng)前處理行存儲再臨時緩存區(qū)中,稱為"模式空間"(pattern space), 接著用sed命令處理緩存區(qū)的內(nèi)容,處理完成后,將緩存區(qū)的內(nèi)容送到屏幕,接著處理下一行,不斷重復(fù)直到結(jié)尾。

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

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

  • sed命令選項
    -n:只打印模式匹配的行(不然會全打出來)必須跟p
    -e: 直接在命令行模式上進(jìn)行sed動作編輯(默認(rèn))
    -f: 執(zhí)行script腳本
    -r: 支持?jǐn)U展表達(dá)式
    -i: 直接修改原文件內(nèi)容

  • sed定址

    • 行號:數(shù)字或者范圍
model summary
x x為行號
x,y 表示行號從x到y(tǒng)
/pattern 查詢包含模式的行
/pattern /pattern 查詢包含兩個模式的行
pattern/,x 在給定行號上查詢包含模式的行
x,/pattern/ 通過行號和模式查詢匹配的行
x,y! 查詢不包含指定行號x和y的行 ! 表示反選
  • sed的編輯命令(sed command)
model summary
p 打印匹配行(和 -n 命令一個合用, 不然默認(rèn)-e,緩存區(qū)的內(nèi)容會重復(fù)輸出)
= 顯示文件行號
a\ 在定位行號后附加新文本信息
i\ 在定位行號后插入新文本信息
d 刪除定位行(只是打印輸出刪除了,原文件沒變)
c|用新文本替換定位文本
w filename 寫文本到一個文件,類似輸出重定向 >
r filename 從另一個文件中讀文本,類似輸入重定向 <
s 使用替換模式替換相應(yīng)模式
q 第一個模式匹配完成后退出或立即退出
l 顯示與八進(jìn)制ACSII代碼等價的控制符
n 從另一個文件中讀文本下一行,并從下一條命令而不是第一條命令開始對其的處理(啥意思??)
N 在數(shù)據(jù)流中添加下一行以創(chuàng)建用于處理的多行組
g 將模式2粘貼到/pattern n/
y 傳送字符,替換單個字符

——————————————————————————
PS:
linux文件輸入輸出重定向
輸出重定向:

echo line > file
echo line >> file   # 追加不覆蓋

重定向輸入:

wc -l < file   # 統(tǒng)計文件file的行數(shù)

—————————————————————————

栗子:

sed -n '/client_timeout/p' conf  # 打印包含client_timeout的行
sed -n '/client_timeout/,/hahaha/p' conf  # 兩個pattern, 滿足其一就打印
sed -n '2, /client_timeout/p' conf # 從第2行到出現(xiàn)client_timeout的那行打印

sed -n '-e /=/p' '-e =' test  # 打印包含=的行, 且打印行號








修改配置文件conf的client_timeout值:
sed -i '-e s/\(client_timeout : \).*/\1100/' '-e s/\r//g' "/home/conf"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • linux sed命令詳解 1. Sed簡介 sed 是一種在線編輯器,它一次處理一行內(nèi)容。處理時,把當(dāng)前處理的行...
    很少更新了閱讀 2,195評論 0 6
  • Linux sed命令是利用script來處理文本文件。sed可依照script的指令,來處理、編輯文本文件。Se...
    姜淑均閱讀 788評論 1 2
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,360評論 2 33
  • sed編輯器簡介 sed是linux下一種常用的非交互式編輯器,不同于常用的交互式的vim編輯器,我們只能在com...
    健談的Boris閱讀 620評論 0 1
  • sed -n "/query/p" 2017-04-07.log |awk -F "," '{print $2}'...
    冰鋒閱讀 1,027評論 0 0

友情鏈接更多精彩內(nèi)容