簡述Linux文本處理命令“sed”
文本處理編輯命令sed
sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內(nèi)容并沒有 改變,除非你使用重定向存儲輸出。Sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉(zhuǎn)換程序等。
命令格式:
sed [選項] ‘(截取的行)[動作]' 文件名
選項:-n:只把經(jīng)過sed處理的行輸出
-e:允許輸入多條動作
-i:sed修改的結果寫入文件
截取行:(1)直接輸入行號
(2)/正則表達式/
(3)x,y 從x到y(tǒng)行,也可以用正則取代
(4)x,y! 取反
(5)x~y 從x行開始,步進y行
(6)$ 文檔末
動作:p 打印 eg: sed -n '(行)p' student.txt
a 行后增加新的一行,i 行前增加新的一行
sed '1,5a =============' student.txt
sed '/正則/a ============' student.txt
d 刪除某行
sed '/正則/d' student.txt
sed '4d' student.txt
c 替換指定行
sed '2c canglaoshi bujigee' student.txt
sed '/正則/c lalalalalalala' student.txt
s 替換指定字符串(替換每行第一個);結尾g表示每一行所有
sed '/正則(定位行)/s/正則(舊)/abcd(新)/' student.txt
sed 's/正則(舊)/abcd(新)/' student.txt (全文替換)
sed '/www/s/33/000/g' zz_test.txt
操作:{}多個命令組合,用;分開
sed '{1,20p;s/www/s/33/000//g}'
& 取原字符
sed 's/abc/&def' student.txt (把abc換成abcdef)
u 字符串首字母改成大寫
sed 's/abc/\u&/' student.txt (把abc改成Abc)
l 字符串首字母改成小寫
U 字符串所有字母改成大寫
sed 's/abc/\U&/' student.txt (把abc改成ABC)
L 字符串所有字母改成小寫
r 將某文件插入到另一文件的指定行中
sed '1r abc.txt' 123.txt (將abc.txt中的內(nèi)容插入到123.txt文件的第1行)
q 退出sed
sed '/false/q' student.txt (找到一個false就退出sed)
總結
以上所述是小編給大家介紹的Linux文本處理命令“sed”,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Ubuntu16.04下安裝Wechat的實現(xiàn)方法
下面小編就為大家分享一篇Ubuntu16.04下安裝Wechat的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12Linux shell操作mysql數(shù)據(jù)庫深入解析
本文總結幾種shell操作mysql的方法,供大家參考2013-08-08linux命令之目錄監(jiān)控 字符串拆分 監(jiān)控命令運行結果 統(tǒng)計行數(shù) 去除文本頭尾空格 獲取網(wǎng)卡名浮點數(shù)運算等命令使用技巧
linux命令使用技巧之目錄監(jiān)控 字符串拆分 監(jiān)控命令運行結果 統(tǒng)計行數(shù) 去除文本頭尾空格 獲取網(wǎng)卡名浮點數(shù)運算等命令使用方法2018-09-09每個系統(tǒng)管理員必知的 30 個 Linux 系統(tǒng)監(jiān)控工具
本文提到的是一些基本的命令,用于系統(tǒng)分析和服務器調(diào)試等,接下來通過本文給大家分享每個系統(tǒng)管理員必知的 30 個 Linux 系統(tǒng)監(jiān)控工具,感興趣的朋友跟隨腳本之家小編一起看看吧2018-03-03Centos系統(tǒng)中徹底刪除Mysql數(shù)據(jù)庫步驟
這篇文章主要介紹了Centos系統(tǒng)中徹底刪除Mysql數(shù)據(jù)庫步驟的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-07-07