2015-05-26 70 views
0

我如何可以通過使用sed命令的Linux如何使用sed命令將數字更改爲字母?

例如改變數字與字母: 如果號碼的經度爲4,5,6 O 7然後改變該號碼ABCD(僅SED)

。 123 1234 123445 125475585

結果: 123 ABCD ABCD ABCD

由於

+1

4->一個,5-> B,...?是吧? –

+1

你可能需要澄清你的問題,並添加一些你嘗試過的例子來獲得任何幫助。你可以隨時更新你的問題。歡迎來到堆棧溢出,推薦閱讀:http://stackoverflow.com/help/how-to-ask –

+0

經度來自哪裏 – HuStmpHrrr

回答

2

隨着GNU sed的:

echo '123 1234 123445 125475585' | sed -E 's/\b[0-9]{4,9}\b/abcd/g' 

輸出:

 
123 abcd abcd abcd 
+0

可以你請解釋我是如何工作的?主要是\ b –

+0

_元字符\ b是一個類似插入符號和美元符號的錨點。它匹配在一個稱爲「文字邊界」的位置。這個匹配是零長度。[來源](http://www.regular-expressions.info/wordboundaries.html) – Cyrus

+0

和-E因爲我知道-e –

2

最簡單的方法是使用地圖操作。

$ sed 'y/4567/abcd/' <<< '65423476512935' 
cba23adcb1293b