技术解析

请教 sed 问题
0
2021-07-12 02:54:24
idczone

sed如何过滤出52:54:00:a9:cc:20 ?

sed "s/.'(.)'.*/\1/g" 这是可以的,但是不太明白具体含义,请赐教!


为什么不用 grep -o?

过滤为何不用grep -E ?
还有: sed: 1: "s/.'(.)'.*/\1/g": \1 not defined in the RE 你确定这可以?
sed: -e expression char 15: invalid reference \1 on `s' command's RHS

grep -o "..:.*:.." 可以实现,谢谢。
但是还是想把sed这个搞明白

正确的应该是 sed "s/.*'\(.*\)'.*/\1/g" 吧
你需要搜一下正则表达式的指南

就是一个正则啊,对‘’里面的内容分组了然后后面\1填充捕获的第一个分组

诶,正则没学好。。。终于看明白了。
.*'\(.*\)'.* 就是正则描述的整个字符串,然后是通过‘ ’分割的。
然后用sed的第一个变量覆盖整个字符串。
tks!

嗯。所以你在主题帖里的代码根本就是错的,我还看了半天……

这也是我反对在论坛等地默认使用 markdown 的原因。不知道的人写好了发出去,结果代码什么的都变了样。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服