如何在Linux中使用sed命令?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
十多年的博白網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整博白建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“博白網(wǎng)站設(shè)計(jì)”,“博白網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
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)容。它使用了一些重要的命令行開關(guān)。/s表示搜索,該命令以/g分隔。-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)不滿意。 ad hoc編輯可能會(huì)導(dǎo)致問題,因?yàn)閟ed無法訪問完整的源代碼,也無法識(shí)別錯(cuò)誤或拼寫錯(cuò)誤。 此外,這樣做會(huì)使原始文件處于危險(xiǎn)之中,因?yàn)橐坏┠牧嗽即a,就無法恢復(fù)原始代碼。
您可以使用-e開關(guān)一次指定多個(gè)更改。 同樣,sshd_config.conf文件使得更改多行變得簡單。 下面的腳本可能看起來很復(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開頭的行。 您可以在輸出端使用它,以便創(chuàng)建一個(gè)新行來替換現(xiàn)有的一行。 您還可以使用$字符在行尾查找內(nèi)容。
要查看更高級(jí)的示例,請使用man sed命令。 它提供了更詳細(xì)的命令和語法分解。
總結(jié)
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。