[問題] Unmatched '`'

作者: homer00 (肥宅鄉民)   2025-01-19 15:18:40
各位大大午安
最近想要用sed來進行關鍵字的取代
取代的目標帶有` , 姑且就管他叫 `FLAG
指令是
sed -i "s^`FLAG^param_flag^g" file_name
但結果會跑出 Unmatched '`'
嘗試過這些也都不行
sed -i "s^``FLAG^param_flag^g"
sed -i "s^\`FLAG^param_flag^g"
sed -i "s^\\`FLAG^param_flag^g"
sed -i "s/`FLAG/param_flag/g"
sed -i "s/``FLAG/param_flag/g"
sed -i "s/\`FLAG/param_flag/g"
sed -i "s/\\`FLAG/param_flag/g"
想請問要怎麼準確處理 ` ...
謝謝 m(_*_)m
作者: aeolus0829 (阿洽)   2025-01-19 15:24:00
加個 \ ,例 \`
作者: homer00 (肥宅鄉民)   2025-01-19 15:31:00
hi, a大, 我這邊一樣會得到 Unmatched '`' QQ
作者: ShinHsin   2025-01-19 16:01:00
sed "s/\`/~/g" filename 我用這樣是可以替換成~的先不要加-i試跑看結果,你的其中一個情況有換成功
作者: jkchang (JK)   2025-01-19 16:25:00
sed -n "s/'FLAG/program_flag/g p" filenamesed -i "s/'FLAG/program_flag/g" filename如果是`,要加上\跳脫
作者: rickieyang (Rickie Yang)   2025-01-19 16:53:00
https://i.imgur.com/Tdb3foR.png用 ' 包起來可以, 用 " 包起來不行.
作者: jkchang (JK)   2025-01-19 16:57:00
如果你是用osx, 那 -i 後面加上""sed -i "" "s/\`FLAG/param_flag/g" filename
作者: homer00 (肥宅鄉民)   2025-01-19 21:24:00
謝謝大大們熱心幫忙 不過都fail 我再研究看看還有什麼線索 或找IT討論看看 感激不盡 QQ
作者: rickieyang (Rickie Yang)   2025-01-20 00:22:00
alias repflag "sed -i 's^`FLAG^flag_param^g'"不知道 sed 用 ^ 分隔有什麼好處, 不過 ^ 在 RE 有特別意義, 建議改別的符號。外面用 "", sed 裡面用 ' 'https://i.imgur.com/8rhQkCW.png反過來也可以, 看樣子 ` 擺在 "" 裡就要 \alias repflag='sed -e "s/\`FLAG/flag_param/g"'

Links booklink

Contact Us: admin [ a t ] ucptt.com