sed工具 介紹

sed工具
地址定界
不給地址:對全文進行處理
單地址:
#:指定行
/pattern/:被此處模式所能夠匹配到的每一行
地址范圍:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~:步進
1~2 奇樹行
2~2 偶數行
cat -n passwd >passwd2 新建文件
sep -n ‘/^h//^s/’ passwd
sep 10
sep 10| sed ‘1~2p’
sep 10 |sed -n ‘1~2p
cat passwd2 |sed -n ‘2~2p’
sed工具
編輯命令
d:刪除模式空間匹配的行
p:顯示模式空間的內容
a [\]texe:在指定行后面追加文本
支持使用\n實現多行追加
i[\]text:在行前面插入文本
c[\]text:替換行為單行或多行文本
w /path/somefile:保存模式匹配的行至指定文件
r /path/somefile:讀取指定文件的文本至模式空間中匹配到的行后
=:為模式空間中的行打印行號
!:模式空間中匹配行取反處理
奇數行
sep 10 |sed -n ‘1~2p’
sep 10 |sed ‘2~2d’
sep 10 |sed -n ‘2~2!p’
sed工具
s///:查找替換,支持使用其它分隔符,s@@@,s###
替換標記:
g:行內全局替換
p:顯示替換成功的行
w /PATH/TO/SOMEFILE: j將替換成功的行保存至文件中
sed示例
sed ‘2p’ /etc/passwd 打印第二行 別的行業打印
sed -n ‘2p’ /etc/passwd 只打印第二行
sed -n ‘1,4p’ /etc/passwd 打印一到四行
sed -n ‘/root/p’ /etc/passwd 包含root打印
sed -n ‘2,/root/p’ /etc/passwd 從2行開始 第一行開始
sed -n ‘/^$/=’ file 顯示空行行號
sed -n -e ‘/^$/p’ -e ‘/^$/=’ file 打印本身 打印行號
sed ‘/root/a\superman’ /etc/passwd 行后
sed ‘/root/i\superman’ /etc/passwd 行前
sed ‘/root/c\superman’ /etc/passwd 代替行
取ID
ifconfig etho | sed -e ‘s/.*inet addr://’ -e ‘s/ B.*//’ -n -e 2p
搜索替代
ifconfig etho |sed -n 2p|sed -e ‘s/.*r://’ -e ‘s/ B.*//’
取基名
echo /etc/sysconfig/network-scripts/ |sed -r ‘s@(^/.*/)([^/]+/?)@\2@’
取目錄名
echo /etc/sysconfig/network-scripts/ |sed -r ‘s@(^/.*/)([^/]+/?)1@\1@’
對/etc/fstab非#開頭的加注釋
sed -r ‘s/(^[^])/#\1/’ etc/fstab
sed -r ‘s/^[^#]/#&/’ /etc/fstab
sed工具
高級編輯命令:
h:把模式空間的內容覆蓋至保持空間中
H:把模式空間中的內容追加至保持空間中
g:從保持空間取出數據覆蓋至模式空間
G:從保持空間取出內容追加至模式空間
x:吧模式空間中的內容與保持空間中的內容進行互換
n:讀取匹配到的行的下一行覆蓋至模式空間
N:讀取匹配到的行的下一行追加至模式空間
d:刪除模式空間中讀的行
D:刪除當前模式空間開端至\n的內容(不再傳至標準輸出),放棄之后的命令,但是對剩余模式空間重新執行sed
sed示例
sed -n ‘n:p’ FILE
sed ‘1!G:h:$!d’ FILE
sed ‘$!N”$!D’ FILE
sed ‘$!d’ FILE
sed ‘G’ FILE
sed ‘g’ FILE
sed ‘/^$/D:’ FILE
sed ‘n:d’ FILE
SED -N ‘1!g:H:$P’ FILE
偶數行
seq 10|sed -n ‘n:p’
倒序
seq 10 |sed ‘!!G:h:$!d’
只保留最后兩行
seq 10|sed ‘$!N:$!d’

原創文章,作者:wangqiang,如若轉載,請注明出處:http://www.www58058.com/77282

(0)
wangqiangwangqiang
上一篇 2017-05-31 21:00
下一篇 2017-05-31 22:54

相關推薦

  • httpd應用舉例

    應用舉例1、基于用戶和組認證的方式訪問ftp         1、編輯配置文件/etc/httpd/conf/httpd.conf,并使用httpd -t 檢查語法,并systemctl reload httpd       &n…

    Linux干貨 2016-10-23
  • DHCP

        動態主機設置協議(Dynamic Host Configuration Protocol,DHCP)是一個局域網的網絡協議,使用UDP協議工作,主要有兩個用途: 用于內部網絡或網絡服務供應商自動分配IP地址給用戶 用于內部網絡管理員作為對所有電腦作中央管理的手段     …

    Linux干貨 2017-07-24
  • 權限

    用戶組和管理權限

    2017-11-30
  • 磁盤分區、軟RAID創建及shell腳本參數傳遞,for循環,運算表達式應用 1、創建一個10G分區,并格式為ext4文件系統。 先使用fdisk工具創建一個10G的新分區。使用fdisk打開要創建磁盤分區的物理設備fdisk /dev/sdb,然后使用n指令創建新的分區,分區類型選此處選擇為主分區,第一個柱面使用默認的1,最后的柱面,使用+10G這種表示方…

    Linux干貨 2016-12-26
  • 馬哥教育網絡班20期+第1周課程練習

    1、描述計算機的組成及其功能。  (1)組成:運算器、控制器、存儲器、輸入設備、輸出設備  (2)功能:數值計算、數據處理、自動控制、輔助設計、輔助教學、人工智能、娛樂活動 2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。  (1)主要發行版本之間關系    基于slackware:sus…

    Linux干貨 2016-06-23
  • 簡單路由實驗

    今天學習了路由相關的基礎知識,為了加深印象,做了如下的一個實驗。根據下面的網絡拓撲圖分別配置兩臺PC和路由,以實現PC1和PC2能夠互相ping通。實驗環境為VM虛擬機 在實驗開始前,我們需要在路由添加兩塊網卡,PC機添加一塊網卡,此實驗網卡的鏈接方式是橋接,一共需要4臺虛擬機,兩臺做PC機,兩臺做路由器 1、R2路由器的配置 [root@linuxpao&…

    Linux干貨 2016-09-05
欧美性久久久久