第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

sed搜索并替換包含/ 的字符串

sed搜索并替換包含/ 的字符串

PIPIONE 2019-09-03 16:36:49
我無(wú)法弄清楚如何使用sed來(lái)搜索和替換/文本文件中包含該字符的字符串/etc/myconfig。例如,在我現(xiàn)有的文本文件中,我有:myparam /path/to/a argB=/path/to/B xo我希望將其替換為:myparam /path/to/c argB=/path/to/D xo我嘗試在bash中這樣做:line='myparam /path/to/a argB=/path/to/B xo'line_new='myparam /path/to/c argB=/path/to/D xo'sed -i 's/$line/$line_new/g' /etc/myconfig但沒(méi)有任何反應(yīng)。嘗試grep -rn "$line" /etc/myconfig雖然回來(lái)了'myparam /path/to/a argB=/path/to/B xo'。表達(dá)sed執(zhí)行此搜索并替換并正確處理命令的命令的正確方法是什么/?(我認(rèn)為/我的字符串中的字符是給我問(wèn)題的字符,因?yàn)槲沂褂妙愃频膕ed命令來(lái)搜索和替換文本文件中的另一行沒(méi)有問(wèn)題,并且該行沒(méi)有/字符。
查看完整描述

3 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

不要逃避反斜杠; 你會(huì)迷惑自己。s在文本中沒(méi)有出現(xiàn)的命令后使用不同的符號(hào)(我%在下面的示例中使用):


line_old='myparam /path/to/a argB=/path/to/B xo'

line_new='myparam /path/to/c argB=/path/to/D xo'

sed -i "s%$line_old%$line_new%g" /etc/myconfig

另外,用雙引號(hào)括起整個(gè)字符串; 使用單引號(hào)意味著sed看到$line(在原始中)而不是擴(kuò)展值。在單引號(hào)內(nèi),沒(méi)有擴(kuò)展,也沒(méi)有元字符。如果您的文本幾乎可以包含任何純文本字符,請(qǐng)使用控制字符(例如control-A或control-G)作為分隔符。


請(qǐng)注意,-i這里的使用反映了問(wèn)題中的內(nèi)容,但假定使用GNU sed。BSD sed(在Mac OS X上也可以找到)需要后綴。你可以用sed -i '' …原位替換; 這與GNU不兼容sed。要在兩者之間攜帶,請(qǐng)使用-i.bak; 這將適用于兩者 - 但為您提供了一個(gè)您可能想要?jiǎng)h除的備份文件。其他Unix平臺(tái)(例如AIX,HP-UX,Solaris)可能具有sed根本不支持的變體-i。POSIX規(guī)范不要求它sed。


查看完整回答
反對(duì) 回復(fù) 2019-09-03
?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

-e除非你有多個(gè)表達(dá)式(sed -e 's/a/b/' -b 's/xy/ZZ/g') - AFAIK,否則它是可選的。使用sed -i -e …會(huì)使腳本在GNU sed和BSD 之間“可移植” sed,代價(jià)是讓BSD sed創(chuàng)建帶擴(kuò)展名的備份文件-e(因此,如果你編輯文件data,Mac OS X上的備份文件將是data-e; GNU sed將不會(huì)創(chuàng)建備份)。我不確定這是否足夠理由以這種方式做事; 最好使用-i.bak和刪除備份 - 這適用于兩種變體。

查看完整回答
反對(duì) 回復(fù) 2019-09-03
  • 3 回答
  • 0 關(guān)注
  • 2516 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)