2

我想将供应商 MAC 地址列表中的“-”替换为“:”。

例如:

F4-CE-46   Hwltt-Packard Company

F4:CE:46   Hwltt-Packard Company

有可能吗?

对不起,我的英语不好...

4

2 回答 2

3
$ 回声 F4-CE-46 | tr - :
F4:CE:46

或者对于一个领域:

$ echo F4-CE-46 Abc-Def | awk '{ gsub("-", ":", $1) ; 打印 }'
F4:CE:46 Abc-Def
于 2013-09-22T01:05:37.867 回答
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$

以下awk是有关's函数的一些详细信息的链接sub(),但简单地说,它需要三个参数:

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

这应该允许您更改第一列中的字符,或 awk 中的 $1(请记住 awk不是零索引),但不会影响另一列。希望这可以帮助。

于 2013-09-22T04:23:25.463 回答