回答
因爲'。'是一個匹配任何字符的正則表達式。你想要's/\.//'
點是一個特殊的字符意思是「匹配任何字符」。
$ sed s/\\.// temp
225
你會認爲,你可以做sed s/\.// temp
,但你的shell會逃脫單反斜線,並通過s/.//
到sed的。所以,你需要把兩個反斜槓傳遞一個反斜槓到sed的,這將適當將\.
視爲文字點。或者,你可以引述命令保留反斜線:
$ sed "s/\.//" temp
225
你得到2.5當你做s/.//
是該點的第一個字符相匹配的文件中並刪除它的原因。
'。''是特別的:它匹配任何單個字符。所以在你的情況下,sed表達式匹配行中的第一個字符。試着逃離這樣的:
小號/\.//
它看起來並不像你在這裏逃脫。 – Telemachus 2009-10-31 16:43:58
Heh。看起來編輯小部件吃反斜槓。我需要逃避逃生,讓它出現:) – Ned 2009-10-31 17:12:21
.
爲任何字符通配符,所以第一個字符是什麼代替,那麼sed的完成。
你想要sed 's/\.//' Temp
。反斜槓用於轉義特殊字符,以便重新獲得其面值。
你也可以用awk
awk '{sub(".","")}1' temp
- 1. 基本的Linux dmesg問題
- 2. SED性問題與Linux的
- 3. Sed腳本分支問題
- 4. Linux的shell腳本的sed
- 5. Linux腳本問題
- 6. 使用Sed的Shell腳本的問題
- 7. 發現在bash腳本sed的問題
- 8. Perl基本問題
- 9. EJB基本問題
- 10. SQLAlchemy基本問題
- 11. hoverIntent基本問題?
- 12. 基本HTACCESS問題
- 13. 基本Subversion問題
- 14. 基本URL問題
- 15. 基本gradle問題
- 16. 基本JSON問題
- 17. 基本DataGridView問題
- 18. jQuery基本問題
- 19. 基本Android問題
- 20. 基本Flex問題
- 21. 基本xmlHttp問題
- 22. 基本phpmailer問題
- 23. ExtJs:基本問題
- 24. javascript基本問題
- 25. MSIL問題(基本)
- 26. 基本mod_perl問題
- 27. Android基本問題
- 28. socket.io基本問題
- 29. 基本LUA問題
- 30. 基本Subversion問題
+1 - 也指出先生! – Buggabill 2009-10-31 16:49:38