5
A
回答
8
在bash的内置的printf具有特殊的格式说明(即%B),其将\ X * *到相应的值:
$ str='foo%20%5B12%5D'
$ printf "%b\n" "${str//%/\\x}"
foo [12]
1
最后,由于#bash IRC信道,我发现了一个 “不那么坏” 的解决方案:
echo `echo string%20with%5Bsome%23 | sed 's/%/\\\x/g'`
相关问题
- 1. Bash替换;字符串
- 2. 如何使用bash替换字符串
- 3. 如何用“%20”替换字符串中的空格字符?
- 4. Javascript - 替换字符串文字中的转义字符
- 5. 如何用字符串替换转义字符
- 6. Java转义HTML - 字符串替换慢?
- 7. vim:转义替换字符串(vimscript)
- 8. 字符串替换不能转义?
- 9. Bash-如何将转义符转换为字符串中的特殊字符($)?
- 10. 字符串bash中的参数替换
- 11. 简单的BASH字符串替换
- 12. 替换bash脚本(MacOS的)字符串
- 13. 替换字符串字符
- 14. 用字符串替换字符串java
- 15. Bash字符转换
- 16. 替换字符串内的字符串
- 17. 字符串中的字符串替换
- 18. Bash找到并替换字符串
- 19. 字符串模式替换在bash
- 20. bash变量在字符串替换
- 21. 将字符串替换为星号bash
- 22. bash字符串替换文件
- 23. 使用STUFF替换SQL中的字符串,并使用小于要替换的字符串的字符串
- 24. 如何在bash中替换包含字符的字符串?
- 25. 替换字符串转换成另一个字符串
- 26. 使用“%20”替换空格 - 字符串下标超出范围
- 27. 使用windows批处理脚本替换%% 20字符串
- 28. 用另一个字符串替换字符串中的字符?
- 29. 用特殊字符替换字符串中的字符串
- 30. 用字符替换字符串中的字符串
我看不到周围的`echo`购买你。使用%5Bsome%23 |回显字符串%20 sed's /%/ \\\ x/g'`不工作? – Thanatos 2011-02-22 18:37:23
@Thanatos:sed只是将带有%5Bsome%23`的字符串%20变成`string \ x20with \ x5Bsome \ x23`。将它传递给`echo -e`将意味着正确处理了`\ x..`转义符。 [缺少`-e`和反引号应该用双引号括起来:`echo -e“$(回显字符串%20with%5Bsome%23 | sed'/%/ \\\ x/g')”`。] – bobbogo 2011-02-22 18:52:35