[問題] sed 帶變數 如何取代 特殊符號

看板Linux作者 (通仔)時間10年前 (2015/08/27 11:21), 編輯推噓1(1013)
留言14則, 3人參與, 最新討論串1/1
如題使用bash 使用sed 如何取代"" 取代文件 內容 testver = "123" bash 內容 testv1=$(cat "/home/test/test.cfg" | grep 'test' |awk -F 'test' '{printer $2}' sed -i "s/test=$test1/ver=$test2 /g" /home/test.cfg 但卻無法成功 如果是直接用數字替換是自是可以的 bash 要如何取代"" 目的test= "123" 替換成 test= "456" -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.100.51 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1440645661.A.4C1.html

08/27 14:07, , 1F
題意不清,請舉具體一點的實例。
08/27 14:07, 1F

08/27 14:08, , 2F
sed -i 's/test="123"/test="345"/' /home/test.cfg
08/27 14:08, 2F

08/27 14:08, , 3F
是這個意思嗎?
08/27 14:08, 3F

08/27 14:11, , 4F
第1行是$testv1 第2行是$test1 是不是你打錯字?
08/27 14:11, 4F

08/28 02:37, , 5F
Ed大大 這方式指令方式直接下沒問題 但我是把他寫成ba
08/28 02:37, 5F

08/28 02:37, , 6F
sh 就無效 其中我先cat 我要取代的 先寫成變數1要取代
08/28 02:37, 6F

08/28 02:37, , 7F
的寫成變數2 這樣無法取代 大大可留即時通訊 方式
08/28 02:37, 7F

08/28 02:37, , 8F
給我
08/28 02:37, 8F

08/28 08:01, , 9F
08/28 08:01, 9F

08/28 08:02, , 10F
會問具體實例是因為這樣傳有點醜,可以用其他方式寫
08/28 08:02, 10F

08/28 08:03, , 11F
找我?irc.mibbit.com #dsptcm 我的 id 是 qtnez
08/28 08:03, 11F

08/28 08:05, , 12F
不過掛在那裡,人不一定在電腦前。XD
08/28 08:05, 12F

08/28 08:22, , 13F
基本上 grep/sed/awk 是 小弟/二哥/大哥,大哥出馬
08/28 08:22, 13F

08/28 08:22, , 14F
時,做小弟的就可以閃到一邊去了。
08/28 08:22, 14F
文章代碼(AID): #1Lte8TJ1 (Linux)
文章代碼(AID): #1Lte8TJ1 (Linux)