sed

sed
選擇行號進行處理
1~2,奇數行
2~2,偶數行
#p對第幾行進行打印linux

參數:
    p打印,d刪除,I忽略大小寫,a追加,i以前添加,c替換,!取反
    -n關閉自動打印   ifconfig   | sed -n '2,4p'
    -i 修改原文 -i.bak修改文件並備份

eg:sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux
sed -n '1~2!p' /etc/sysconfig/selinux ide

sed搜索替代br/>格式:s///g,s###g,s@@@g
g全文搜索,p打印,w保存到文件,I/i忽略大小寫
eg:sed -n ‘^/r..t/s/r..t/&test/g’ /etc/passwd
將匹配的r..t替換爲r..ttest,&保留匹配到的原字符並添加字符code

取基名
echo /etc/sysconfig/network-scripts | sed –En ‘s#(.)\/([^/]+\/?)$#\1#gp’
取先後綴
echo a.b.c.bz | sed –En ‘s/(.
).([^.]+)$//gp’
取IP地址
ifconfig | sed -En '2s/[^0-9]+([0-9.]+)./\1/gp'
取磁盤利用率
df -mh | sed -En '/^\/dev\/sd/s#(\/dev\/sd[[:alnum:]]+).
([0-9]+%).*#\1 \2#gp'ip

sed高級用法
分爲模式空間和保持空間,利用此空間,能夠將模式空間的數據臨時保存至保持空間,從而實現後續處理
參數詳情:
P打印模式空間的開端至\n內容,並追加到默認輸出以前
h把模式空間的內容覆蓋至保持空間
H把模式空間的內容追加至保持空間
g從保持空間取出數據覆蓋至模式空間
G從保持空間取出數據追加至模式空間
X把模式空間的內容與保持空間的內容進行互換
n讀取匹配到的行的下一行覆蓋至模式空間
N讀取匹配到的行的下一行追加至模式空間
d刪除模式空間的行
D若是模式空間包含換行符,則刪除直到第一個換行符的模式空間中的文本,並不會讀取新的輸入行,而使用合成的模式空間的從新啓動循環,若是模式空間不包含換行符,則會像d命令一發出新循環get

eg:seq 10|sed –n ‘n:p’
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息