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. 如何用「%20」替換字符串中的空格字符?
- 3. Javascript - 替換字符串文字中的轉義字符
- 4. vim:轉義替換字符串(vimscript)
- 5. Java轉義HTML - 字符串替換慢?
- 6. 字符串替換不能轉義?
- 7. Bash-如何將轉義符轉換爲字符串中的特殊字符($)?
- 8. 字符串bash中的參數替換
- 9. 簡單的BASH字符串替換
- 10. Bash字符轉換
- 11. 替換字符串內的字符串
- 12. 字符串中的字符串替換
- 13. Bash找到並替換字符串
- 14. 字符串模式替換在bash
- 15. bash變量在字符串替換
- 16. 使用Powershell替換字符到UNC字符串替換
- 17. 使用STUFF替換SQL中的字符串,並使用小於要替換的字符串的字符串
- 18. 用特殊字符替換字符串中的字符串
- 19. 用字符替換字符串中的字符串
- 20. 使用windows批處理腳本替換%% 20字符串
- 21. 如何轉義字符<同時使用sed替換字符串
- 22. JavaScript用字符替換字符串|
- 23. 如何用字符串替換字符?
- 24. 用特殊字符替換字符串
- 25. 將字符串替換爲字符串
- 26. Bash相當於Python的字符串文字用於utf字符串轉換
- 27. C#用跳轉版本替換字符串中的字符
- 28. 將數字轉換爲字符20
- 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