[问题] 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