sed是一種非互動式的流編輯器,可動態編輯檔案。
sed的工作模式是對比每一資料行,若如何樣式,就執行指定的操作。
語法格式:
sed '樣式命令' 檔案
如果檔案中某一行符合「樣式命令」,就執行指定的sed命令,如刪除(d)、替換(s)、輸出(p).
這裡的「樣式命令」使用一對//括起來,表示尋找。
例如:1、/1,6/,表示1到6行
2、/aaa/,/ddd/,表示從含有字元aaa的行到含有字元ddd的行
example:
1、刪除某一範圍的資料行
sed '1,4d' filepath
2、刪除含有指定「樣式」的行
sed '/styletext/d' filepath
3、刪除空白行
sed '/^$/d' filepath
4、刪除非指定「樣式」的行
sed '/styletext/!d' filepath
5、輸出匹配「樣式」的行
sed -n '/styletext/p' filepath
指令p會把當前的資料顯示出來,但因為sed預設也會顯示不符合的資料行,所以需要配合選項"-n".
-n:抑制顯示不符合的資料行。
6、刪除每一行開頭的3個字元
sed 's/^...//' filepath
7、取得符合樣式的字串
sed -n 's/\(styletext\)/\1string/p' filepath
()用來儲存匹配的字元
\1取得之前匹配的字元
8、找到匹配的資料行,再進行替換指令
sed -n '/aaa/s/123/456/p' filepath
找到含有aaa的行,替換123為456
9、在指定行進行替換指令
sed -n '2,4s/123/456/p' filepath
在第2到4行,將123替換為456
awk待續
sed awk擷取日誌
awk 字串1 a file sed n 字串1 n b2 file awk 字串1 a file sed n 字串1 m x lzj p b x file 擷取兩個字串之間日誌 n 匹配行的下一行 n 追加到下一行 p 列印 p 列印到 n b 無條件跳轉 未匹配後面不執行 t 有條件跳轉 未匹配...
sed awk 例項分享
介紹 做運維的應該經常用sed和awk等這些工具,但要想把他們用得好絕非易事,需要長時間的積累,正文1 如何在shell中獲取字串string的長度 echo 2 替換檔案text中乙個或多個空格 sed i s g test注釋 意思是之前字元的乙個或多個 3 刪除檔案text中 和 兩個字元 s...
sed awk 資料的檢索
在格式化文字中查詢縮寫詞相應的完整詞語,如輸入 basic 返回其全稱 beginner s all purpose symbolic instruction code 下面這個縮寫詞列表可理解為乙個簡單的資料庫 zhanhailiang linux 06bq cat acronyms basic ...