谁能解释一下正则表达式在 sed 替换命令中的工作原理。
$ cat path.txt
/usr/kbos/bin:/usr/local/bin:/usr/jbin:/usr/bin:/usr/sas/bin
/usr/local/sbin:/sbin:/bin/:/usr/sbin:/usr/bin:/opt/omni/bin:
/opt/omni/lbin:/opt/omni/sbin:/root/bin
$ sed 's/\(\/[^:]*\).**/\1/g' path.txt
/usr/kbos/bin
/usr/local/sbin
/opt/omni/lbin
从上面的 sed 命令中,他们使用了反向引用和保存操作符的概念。谁能解释一下正则表达式,尤其是/[^:]*如何在替换命令中工作以仅获取每行中的第一条路径。