亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用sed替換包含斜杠的字符串?

如何用sed替換包含斜杠的字符串?

慕斯王 2019-07-01 10:02:35
如何用sed替換包含斜杠的字符串?我有一個VisualStudio項目,它是本地開發的。必須將代碼文件部署到遠程服務器。唯一的問題是URL-它們包含硬編碼的URL。項目包含URL,如?page=1..要使鏈接在服務器上有效,它必須是/頁/一 .在部署之前,我已經決定用sed替換代碼文件中的所有URL,但是我被斜杠卡住了。我知道這不是一個很好的解決方案,但很簡單可以節省我很多時間。我必須替換的字符串總數小于10,必須檢查的文件總數為30。下面是描述我的情況的示例:我使用的命令:sed -f replace.txt < a.txt > b.txtreplace.txt,它包含所有字符串:s/?page=one&/pageone/g s/?page=two&/pagetwo/g s/?page=three&/pagethree/gA.txt:?page=one& ?page=two& ?page=three&運行sed命令后,b.txt的內容:pageone pagetwo pagethree我希望b.txt包含:/page/one /page/two /page/three
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

最簡單的方法是在搜索/替換行中使用不同的分隔符,例如:

s:?page=one&:pageone:g

您可以使用任何字符作為分隔符,而不是任何字符串的一部分?;蛘撸憧梢杂梅葱备芴与x它。


查看完整回答
反對 回復 2019-07-01
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

這個s命令可以使用任何字符作為分隔符;s被利用了。我從小就用#..就像這樣:

s#?page=one&#/page/one#g


查看完整回答
反對 回復 2019-07-01
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

有關sed的一個非常有用但鮮為人知的事實是s/foo/bar/命令可以使用任何標點符號,而不僅僅是斜杠。一個常見的選擇是s@foo@bar@如何解決你的問題變得很明顯。


查看完整回答
反對 回復 2019-07-01
  • 3 回答
  • 0 關注
  • 1954 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號