1.簡介
sed是一種行編輯器,它一次處理一行內容。
2.sed呼叫方式
sed [options] 'command' file(s)
sed [options] -f scriptfile file(s)
第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。
示例(1):列印hello.txt的內容
sed -n p hello.txt說明:
-n:sed會在處理一行文字前,將待處理的文字列印出來,-n引數關閉了這個功能
p:命令表示列印當前行
hello.txt:待處理的檔案
這個指令相當於cat
3.定址
告訴sed你期望處理的行,由逗號分隔的兩個數字表示,$符號表示最後一行;
當然也可以使用正則來定位期望處理的行。
示例(2):列印hello.txt的第二行到最後一行
sed -n '2,$'p hello.txt示例(3):列印hello.txt中正則匹配"100"的行
sed -n '/100/'p hello.txt4.基本命令
hello.txt的內容為
1 2 3
10 20 30
100 200 300
命令:a\
在匹配行的後面加入一行文字
示例(4)匹配100的行,後面加入一行"new line"
sed '/100/'a\ "new line" hello.txt輸出內容為:
1 2 3
10 20 30
100 200 300
new line
命令:i\
在匹配行的前面加入一行文字
示例(5)匹配100的行,前面加入一行"new line"
sed '/100/'i\ "new line" hello.txt輸出內容為:
1 2 3
10 20 30
new line
100 200 300
命令:c\
將匹配行替換為目的行
示例(5)匹配100的行,替換為"new line"
sed '/100/'c\ "new line" hello.txt
輸出內容為:
1 2 3
10 20 30
new line
命令:d
將匹配行刪除
示例(5)刪除匹配100的行
sed '/100/'d hello.txt輸出內容為:
1 2 3
10 20 30
命令:s
將匹配行替換
詳細命令為:s/pattern-to-find/replacement-pattern/g
pattern-to-find:被替換的串
replacement-pattern:替換成這個串
g:全部替換,預設只替換匹配到的第乙個
示例(5)講100替換為hello
sed 's/100/hello/g' hello.txt輸出內容為:
1 2 3
10 20 30
hello 200 300
5.元字符集
^:匹配一行的開始
$:匹配一行的結束
.:匹配某個字元
[abc]:匹配指定範圍字元
6.實用命令
匹配以10開頭的行,並替換為yes,並輸出
sed -n 's/^10/yes/p' hello.txt輸出內容為:
yes 20 30
yes0 200 300
取出檔案中行手的行號與冒號
設hello.txt的內容為
1:#!/bin/sh
2:cat hello.txt
3:exit
sed -n -e 's/^[0-9]\://g'p hello.txt輸出結果為:
#!/bin/sh
cat hello.txt
exit
==【全文完】==
回【架構】58同城推薦系統架構設計與實現
回【twitter】twitter系統架構分析
回12306系統架構優化
回【youtube】youtube系統架構
回【同城】58同城mysql實戰
回【秒殺】秒殺系統架構優化思路
回【演進】好架構是進化來的,不是設計來的
回大於10的整數,返回隨機好文(猜猜怎麼實現的)
若有收穫,隨手幫轉喲。
一分鐘sed入門
1.簡介 sed是一種行編輯器,它一次處理一行內容。2.sed呼叫方式 sed options command file s sed options f scriptfile file s 第一種直接在命令列中執行,第二種把命令寫到了指令碼中,二者無本質區別。示例 1 列印hello.txt的內容 ...
一分鐘看懂mysql 一分鐘,看懂易貨
從20世紀80年代開始,易貨公司在美國加拿大 澳大利亞等國興起,成為這些國家減少現金用量 增加銷售 減少庫存 開發新客戶 開闢新市場 促進經濟發展的重要產業。也成為了企業消化庫存商品 剩餘生產能力 無形資產的有效方式和在遭遇資金瓶頸時的新選擇。2015年以來,中國線下易貨店開始了矇眼狂奔,在河南南陽...
saejs一分鐘入門
最近在學習nodejs中,發現seajs與它有些相似之處,同時網上並沒有很好的入門例子,包括官網的五分鐘例子。於是動手寫了個簡單的demo,希望對初學者有所幫助。2.完成init.js define function require,exports,module 3.寫demo.html 4.瀏覽器...