shell 三劍客 sed用法
string+edit=流編輯器
sed 兩個空間:模式空間,保持空間
模式空間:sed處理文字內容行的乙個臨時緩衝區,模式空間中的內容會主動列印到標準輸出,並自動清空模式空間
保持空間:sed處理文字內容行的另乙個臨時緩衝區,不同的是保持空間內容不會主動清空,也不會主動列印到標準輸出,而是需要sed命令來進行處理
小寫的都是表示:覆蓋
大寫的都是表示:追加
n|n(next)
n : 讀取下一行覆蓋模式空間中的行
n:讀取下一行並追加到模式空間中的行後面
x:exchange 空間交換
把模式空間中的內容he保持空間中的內容互換,初始保持空間中為空
h|h(hold)
h:把模式空間中的內容覆蓋至保持空間中
h:把模式空間中的內容追加至保持空間中
g|g(get)
g:把保持空間中的內容覆蓋至模式空間中
g:把保持空間中的內容追加至模式空間中
用法: sed [選項]..
.[輸入檔案]..
.-i:會修改原始檔!
-n:取消自動列印模式空間的內容
s:表示替換
p:print 表示列印
d:delete 表示刪除
i:insert 表示插入
c:整行替換
w:write 將匹配行寫入指定檔案內
r:read 讀取指定檔案.檔案合併
=:用來顯示行號的
!:表示取反的意思
#將所有的root替換為huazai007
sed -i 's/root/huazai007/g'
/etc/passwd
#指定從第二個huazai007 開始替換為root
sed -i "s/huazai007/root/2g"
/tmp/passwd
#將mail替換為ligenjian(只列印,不修改原始檔!)
sed 's/mail/ligenjian/'
/etc/passwd|grep ligenjian
#將以ftp開頭的替換為ftp_wg(不修改原始檔)
&:表示被匹配的字元(ftp)
sed "s/^ftp/ftp_wg/g"
/tmp/passwd | grep ftp_wg
sed "s/^ftp/&_wg/g"
/tmp/passwd | grep ftp_wg
#列印第10行
sed -n '10p'
/etc/passwd
#列印 第5行到第10行的內容
sed -n '5,10p'
/etc/passwd
#從第5行開始,往下列印3行
sed -n '5,+3p' num
#列印奇數行
sed -n '1~2p' num
#列印偶數行
sed -n '2~2p' num
#刪除第二行
sed '2d' num
#刪除 1-3行
sed '1,3d' num
#刪除空行(^開頭 $結尾)
sed '/^$/d' num
#刪除以huazai007開頭的行
sed '/^huazai007/d'
/tmp/passwd |grep huazai
#刪除以bash 結尾的行
sed '/bash$/d'
/etc/passwd|grep bash
#在以ftp開頭的行後面追加一行字元「wg001」
sed '/^ftp/a"wg001"'
/etc/passwd
#在以nologin 結尾的行後面追加一行字元「bw007」
sed '/nologin$/a"bw007"'
/etc/passwd
#在第三行給我追加乙個字元「wg002」
sed '3a"wg002"'
/etc/passwd
#在第三行的前面插入一行字元「wg003」
sed '3i"wg003"'
/etc/passwd
#在以mail開頭的行前面插入一行字元「wg004」
sed '/^mail/i"wg004"'
/etc/passwd
#將包含mail的行整行替換為「wg005」
sed '/mail/c"wg005"'
/etc/passwd
#將以nologin結尾的整行替換為 wg006
sed '/nologin$/c"wg005"'
/etc/passwd
#將以nologin結尾的行 寫入到指定檔案:result.txt裡
sed '/nologin$/w /tmp/result.txt'
/etc/passwd
#將1-10行寫入到/tmp/result.txt裡
sed '1,10w /tmp/result.txt'
/etc/passwd
#讀取 /tmp/result.txt 並將內容寫入到 以mysql開頭nologin結尾的行後面
sed '/^mail.*nologin$/r /tmp/result.txt'
/etc/passwd
#顯示最後一行的行號
sed '$='
/etc/passwd
#除了#號開頭的行都列印出來
sed -n '/^#/!p'
/tmp/result.txt
shell三劍客之sed
sed命令是文字處理工具,讀取文字內容,根據指定的條件進行處理,對檔案內容進行增刪改查,常與正規表示式進行相互配合使用。他是一種流編輯器,一次處理一行內容。處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的...
shell三劍客之sed
sed options pattern filename引數說明 e 多點編輯 f 從指定檔案中讀取編輯 i.bak 備份,並對內容進行修改 n 取消自動列印 r 支援使用擴充套件正規表示式 v 顯示版本資訊 h 顯示幫助 動作說明 動作前面通常加一些匹配項 a 新增,a 後面可以接字串,而這些字串...
shell 三劍客(grep)用法
grep 的全程為global search regular expression and print out the line 類似windows 平台的ctrl f 過濾出 etc passwd 包含root的行 cat etc passwd grep root 不區分大小寫搜尋root行 i ...