實(shí)戰(zhàn)基本的Linux sed命令示例代碼
Linux流編輯器是在數(shù)據(jù)中心中運(yùn)行腳本的一種有用方法。通過(guò)這些命令示例,您可以開(kāi)始熟悉sed。
想要修改文件而不覆蓋原始文件的Linux管理員有很多選擇,但最有效的工具之一是流編輯器 - sed。
流編輯器是大多數(shù)Linux發(fā)行版的默認(rèn)部分。它使您能夠使用Linux sed命令在操作系統(tǒng)中執(zhí)行文本文件操作。
與大多數(shù)Linux應(yīng)用程序一樣,sed可以處理管道輸入,這使它成為一種有效的腳本工具。您可以將其用作基本的查找和替換工具,如下面的示例命令所示,該命令查找出現(xiàn)的一個(gè)實(shí)例,并將其替換為兩個(gè)實(shí)例。命令以 /g結(jié)束。
sed 's/one/two/g' linuxidc linuxmi

例如,這個(gè)Linux sed命令可以幫助您定位和創(chuàng)建配置文件的新版本。當(dāng)這些函數(shù)作為腳本的一部分運(yùn)行時(shí),它們是可重復(fù)的和一致的,并且您可以快速實(shí)現(xiàn)更改。
但是sed的主要目的是更改文本文件的內(nèi)容。它使用了一些重要的命令行開(kāi)關(guān)。/s表示搜索,該命令以/g分隔。-i開(kāi)關(guān)在適當(dāng)?shù)奈恢蒙线\(yùn)行命令——它直接修改文件。
sed -i 's/Port 22/Port 10000/g' /etc/ssh/sshd_config

在此示例中,/etc/ssh/sshd_config文件中Secure Shell服務(wù)器中使用的端口號(hào)從默認(rèn)端口22更改為端口10000。
使用Linux sed命令進(jìn)行文件更改
可以使用sed編輯文件,但有點(diǎn)不滿(mǎn)意。 ad hoc編輯可能會(huì)導(dǎo)致問(wèn)題,因?yàn)閟ed無(wú)法訪(fǎng)問(wèn)完整的源代碼,也無(wú)法識(shí)別錯(cuò)誤或拼寫(xiě)錯(cuò)誤。 此外,這樣做會(huì)使原始文件處于危險(xiǎn)之中,因?yàn)橐坏┠牧嗽即a,就無(wú)法恢復(fù)原始代碼。
您可以使用-e開(kāi)關(guān)一次指定多個(gè)更改。 同樣,sshd_config.conf文件使得更改多行變得簡(jiǎn)單。 下面的腳本可能看起來(lái)很復(fù)雜,但操作系統(tǒng)只是傳遞多個(gè)sed更改數(shù)據(jù)包,每個(gè)數(shù)據(jù)包前綴為-e。
使用sshd_config文件,您可以更改端口號(hào),禁用密碼身份驗(yàn)證并一步啟用公鑰身份驗(yàn)證。
sed -i -e 's/Port 22/Port 10000/g' -e ' s/PermitRootLogin yes/PermitRootLogin no/g' -e ' s/PasswordAuthentication yes/PasswordAuthentication no/g' -e ' s/#PasswordAuthentication no/#PasswordAuthentication no/g' /etc/ssh/sshd_config

搜索和替換功能在新的一行; 用\分解命令不起作用,因?yàn)閟ed將其視為特殊字符。
結(jié)合sed中的提示
您還可以將多個(gè)Linux sed命令鏈接在一起以更改應(yīng)用程序的位置。 手動(dòng)修改文件路徑有很大的錯(cuò)誤空間,但自動(dòng)化它可以使生活更輕松。
用作分隔符的反斜杠可能不適用于某些腳本,但sed允許您更改分隔符。 例如,假設(shè)您有一個(gè)名為example.conf的日志文件,其中包含以下內(nèi)容:
logpath = /var/log/mylogfile.log
將此路徑更改為/my/alternate/path/newlog.log,您可以使用|作為分隔符,因?yàn)?在文件系統(tǒng)路徑中不起作用。
sed -i 's|/var/log/mylogfile.log|/my/alternate/path/newlog.log|g' example.conf
使用Linux sed命令的其他方法包括使用^#MyComment為搜索模式添加前綴; 這會(huì)搜索以#MyComment開(kāi)頭的行。 您可以在輸出端使用它,以便創(chuàng)建一個(gè)新行來(lái)替換現(xiàn)有的一行。 您還可以使用$字符在行尾查找內(nèi)容。
要查看更高級(jí)的示例,請(qǐng)使用man sed命令。 它提供了更詳細(xì)的命令和語(yǔ)法分解。

以上所述是小編給大家介紹的實(shí)戰(zhàn)基本的Linux sed命令示例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
CentOS 6.5平臺(tái)實(shí)現(xiàn)快速部署FTP的方法
這篇文章主要介紹了CentOS 6.5平臺(tái)實(shí)現(xiàn)快速部署FTP的方法,結(jié)合實(shí)例形式分析了CentOS6.5平臺(tái)配置與部署FTP的具體步驟、相關(guān)操作命令與注意事項(xiàng),需要的朋友可以參考下2018-04-04
Apache之AllowOverride參數(shù)使用說(shuō)明
通常利用Apache的rewrite模塊對(duì) URL 進(jìn)行重寫(xiě)的時(shí)候, rewrite規(guī)則會(huì)寫(xiě)在 .htaccess 文件里。但要使 apache 能夠正常的讀取.htaccess 文件的內(nèi)容,就必須對(duì).htaccess 所在目錄進(jìn)行配置。2011-01-01
Linux文件服務(wù)器實(shí)戰(zhàn)詳解(系統(tǒng)用戶(hù))
這篇文章主要介紹了Linux文件服務(wù)器實(shí)戰(zhàn)詳解(系統(tǒng)用戶(hù)),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06
Linux系統(tǒng)中l(wèi)l命令顯示內(nèi)容日期格式方式
本文介紹了在Linux系統(tǒng)中使用`ll`命令查看文件日期格式的方法,并提供了兩種修改日期格式的命令,第一種是臨時(shí)修改,使用`export`命令;第二種是永久修改,需要在配置文件中添加相關(guān)設(shè)置2025-02-02
如何使用win10內(nèi)置的linux系統(tǒng)啟動(dòng)spring-boot項(xiàng)目
這篇文章主要介紹了如何使用​win10內(nèi)置的linux系統(tǒng)啟動(dòng)spring-boot項(xiàng)目,需要的朋友可以參考下2020-07-07
vmware10.0破解版安裝centos的詳細(xì)步驟
這篇文章主要為大家詳細(xì)介紹了vmware10.0破解版安裝centos的詳細(xì)步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10

