文件處理器——sed-創(chuàng)新互聯(lián)

一、sed工作流程

創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,先為昭陽等服務建站,昭陽等地企業(yè),進行企業(yè)商務咨詢服務。為昭陽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

文件處理器——sed

sed 是一種在線的、非交互式的編輯器,它一次處理一行內(nèi)容。處理時,把當前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”(pattern space),接著用 sed 命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內(nèi)容并沒有改變,除非你使用重定向存儲輸出。

Sed 主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉(zhuǎn)換程序等

二、命令格式

sed?[options]?'command'?file(s)????? sed?[options]?-f?scriptfile?file(s)

注:

sed 和 grep 不一樣,不管是否找到指定的模式,它的退出狀態(tài)都是 0

只有當命令存在語法錯誤時,sed 的退出狀態(tài)才是非 0

三、支持正則表達式

與 grep 一樣,sed 在文件中查找模式時也可以使用正則表達式(RE)和各種元字符。正則表達式是括在斜杠間的模式,用于查找和替換,以下是 sed 支持的元字符。

使用基本元字符集 ^, $, ., *, [], [^], \< \>,\(\),\{\}

使用擴展元字符集 ?, +, { }, |, ( )

使用擴展元字符的方式:

\+

sed -r

四、sed基本用法

常見的命令選項

-e?允許多項編輯 -f?指定?sed?腳本文件名 -n?取消默認的輸出,僅顯示處理后的結果 -i?inplace,就地編輯 -r?支持擴展元字符 -h?顯示幫助

常見的操作

a:增加,在當前行下面增加一行指定內(nèi)容 c:替換,將選定行替換為指定內(nèi)容 d:刪除,刪除選定的行 i:插入,在選定行上面插入一行指定內(nèi)容,忽略大小寫 p:打印,如果同時指定行,表示打印指定行,如果不指定行,則表示打印所有內(nèi)容;如果有非打印字符,則以ASCII碼輸出。 s:替換,替換指定字符 y:字符轉(zhuǎn)換 G:取出暫存緩沖區(qū)的內(nèi)容,將其復制到模式空間,追加在原有內(nèi)容后面 g:取出暫存緩沖區(qū)的內(nèi)容,將其復制到模式空間,覆蓋該處原有內(nèi)容 x:交換暫存緩沖區(qū)與模式空間的內(nèi)容 r:從文件中讀 w:將行寫入文件

五、sed命令示例

刪除命令:d

#?sed?-r?'3d'?datafile #?sed?-r?'3{d;}'?datafile #?sed?-r?'3o2tt7yd'?datafile #?sed?-r?'3,$d'?datafile #?sed?-r?'$d'?datafile #?sed?-r?'/north/d'?datafile? #?sed?-r?'/sout/d'?datafile

文件處理器——sed

替換命令:s

#?sed?-r?'s/west/north/g'?datafile? #?sed?-r?'s/^west/north/'?datafile? #?sed?-r?'s/[0-9][0-9]$/&.5/'?datafile?//&代表在查找串中匹配到的內(nèi)容 #?sed?-r?'s/Hemenway/Jones/g'?datafile? #?sed?-r?'s/(Mar)got/\1ianne/g'?datafile? #?sed?-r?'s#3#88#g'?datafile

文件處理器——sed

讀取命令:r

#?sed?-r?'/Suan/r?/etc/newfile'?datafile? #?sed?-r?'2r?/etc/hosts'?a.txt? #?sed?-r?'/2/r?/etc/hosts'?a.txt

寫文件命令:w

#?sed?-r?'/north/w?newfile'?datafile? #?sed?-r?'3,$w?/new1.txt'?datafile

追加命令:a

#?sed?-r?'2a\1111111111111'?/etc/hosts #?sed?-r?'2a\1111111111111\ >?222222222222\ >?333333333333'?/etc/hosts

插入命令:i

#?sed?-r?'2i\1111111111111'?/etc/hosts #?sed?-r?'2i111111111\ >?2222222222\ >?3333333333'?/etc/hosts

修改命令:c

#?sed?-r?'2c\1111111111111'?/etc/hosts #?sed?-r?'2c\111111111111\ >?22222222222\ >?33333333333'?/etc/hosts

獲取下一行命令:n

#?sed?-r?'/eastern/{?n;?d?}'?datafile #?sed?-r?'/eastern/{?n;?s/AM/Archile/?}'?datafile

暫存合區(qū)用命令:h H g? G

#?sed?-r?'1h;$G'?/etc/hosts #?sed?-r?'1{h;d};$G'?/etc/hosts #?sed?-r?'1h;?2,$g'?/etc/hosts #?sed?-r?'1h;?2,3H;?$G'?/etc/hosts

暫存空間和模式空間互換命令:x

#?sed?-r?'4h;?5x;?6G'?/etc/hosts

反向選擇:!

#?sed?-r?'3d'?/etc/hosts #?sed?-r?'3!d'?/etc/hosts

多重編輯選項:e

#?sed?-r?-e?'1,3d'?-e?'s/Hemenway/Jones/'?datafile? #?sed?-r?'1,3d;?s/Hemenway/Jones/'?datafile? #?sed?-r?'2s/WE/UPLOOKING/g;?2s/Gray/YYY/g'?datafile #?sed?-r?'2{s/WE/UPLOOKING/g;?s/Gray/YYY/g}'?datafile

六、sed常見操作:

刪除配置文件中#號注釋行及空行:

#?sed?-ri?'/^[?\t]*#/d;?/^[?\t]*$/d'?/etc/vsftpd/vsftpd.conf #?sed?-ri?'/^[?\t]*#|^[?\t]*$/d'?/etc/vsftpd/vsftpd.conf #?sed?-ri?'/^[?\t]*($|#)/d'?/etc/vsftpd/vsftpd.conf

修改文件:

#?sed?-ri?'$a\chroot_local_user=YES'?/etc/vsftpd/vsftpd.conf #?sed?-ri?'/^SELINUX=/cSELINUX=disabled'?/etc/selinux/config #?sed?-ri?'/UseDNS/cUseDNS?no'?/etc/ssh/sshd_config #?sed?-ri?'/GSSAPIAuthentication/cGSSAPIAuthentication?no'?/etc/ssh/sshd_config

給文件行添加注釋:

#?sed?-r?'2,6s/^/#/'?a.txt #?sed?-r?'2,6s/(.*)/#\1/'?a.txt #?sed?-r?'2,6s/.*/#&/'?a.txt?&匹配前面查找的內(nèi)容

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前標題:文件處理器——sed-創(chuàng)新互聯(lián)
URL分享:http://bm7419.com/article12/cdiedc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站網(wǎng)站營銷、App開發(fā)、網(wǎng)站設計公司、動態(tài)網(wǎng)站、營銷型網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設