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