\{I\}
matches exactly I sequences (I is a decimal integer;
for portability, keep it between 0 and 255 inclusive).
\(REGEXP\)
Groups the inner REGEXP as a whole, this is used for back references.
下面是一个包含前2个字段的示例命令
sed 's/^\([0-9A-Fa-f]\{2\}\)\([0-9A-Fa-f]\{2\}\).*$/\1:\2:/'
6条答案
按热度按时间hzbexzde1#
这可能对你有用(GNU sed):
vfwfrxfs2#
这就是我的方法
tzcvj98z3#
你必须使用正确的
sed
语法:下面是一个包含前2个字段的示例命令
以下命令可以处理完整的MAC地址,并且易于阅读:
按照@Qtax在这里发布的带有全局替换的Perl解决方案的想法,可以得到一个更短的解决方案:
ipakzgxi4#
Perl示例:
如果文件只有MAC地址,则可以简化为:
zyfwsgd65#
如果
awk
是可接受的解决方案:做得很好。Here you can see it in action。
3zwjbxry6#
你也可以在普通的bash中使用子字符串提取: