sed是一種linux的輕量級流編輯器。(字符串截取命令)
主要用來對數據進行選取、替換、刪除、新增。
格式:
sed [選項] ‘[動作]’ 文件名
sed ‘/正則表達式/p’
1. 選項
-n 會只將處理後的數據輸出到屏幕
-e 多項編輯
-i 直接修改文件
sed 's/old/new/g' text.txt 預修改,只是緩存並沒修改
sed -i 's/old/new/g' text.txt -i是插入修改的意思,直接修改
2. 動作
s 字串替換 (格式:s/old/new/g)(^表示以什麼開頭,$以什麼結尾)
p 輸出指定的行 (‘1p’ 輸出第一行 ‘4,5p’ 輸出4-5行)
d 刪除指定的行 (1d 刪除第一行,打印剩餘數據)
= 行號
插入:
i 在當前行之前插一行或多行
a 在當前行之後插一行或多行
末尾加\表示數據未完,續行
1.在第二行之前插入兩行數據hello world
sed -n '2i hello \
world' file.txt
2.全部行前加空格
sed 's/^/ /g' test.txt
3.打印最後一行和第一行
sed -n '1p;$p' test.txt
4.多項輸出
sed -n -e '/root/p' -e '/root/=' test.txt
-e '/root/p' 這項會print出來
-e '/root/=' 這項會輸出對應行號
相當於查了兩次
root ……
5
root……
7