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 的原因。不知道的人写好了发出去,结果代码什么的都变了样。