2013-09-22 52 views
2

我想用「:」替換供應商MAC地址列表中的「 - 」。供應商MAC地址替換「 - 」爲「:」

例如:

F4-CE-46 Hwltt-Packard Company 

F4:CE:46 Hwltt-Packard Company 

難道這可能嗎?

對不起我的英文不好...

+2

這個問題似乎是脫離主題,因爲它是關於Linux,屬於[unix.se]。 –

+5

我相信它是關於主題的,因爲OP需要命令行代碼。代碼是代碼。 – Bohemian

回答

3
 
$ echo F4-CE-46 | tr - : 
F4:CE:46 

或者一個領域:

 
$ echo F4-CE-46 Abc-Def | awk '{ gsub("-", ":", $1) ; print }' 
F4:CE:46 Abc-Def 
+0

我只需要替換MAC,而不是全部文本...:/ – user2757192

+0

您可以刪除'print'' awk'{gsub(「 - 」,「:」,$ 1)} 1'' – Jotne

0

如果你的輸入總是要在相同的格式,你提供什麼,awk能做到這一點很容易:

AirBoxOmega:Downloads d$ echo "F4-CE-46 Hwltt-Packard Company" |awk '{gsub("-",":",$1);print}' 
F4:CE:46 Hwltt-Packard Company 
AirBoxOmega:Downloads d$ 

Here是一些德泰鏈接關於awksub()功能,但簡單的說LS它有三個參數:

awk '{sub("-",":",$1);print}' 
      ^Text to replace #First arg 
       ^what to replace with #second arg 
        ^which field to do replacements in (defaults to all if not specified) #third (optional) arg 

這應該讓你改變字符的第一列,或$ 1 AWK(記住AWK是零索引)但不會影響其他列。希望這可以幫助。