我正在尝试编辑仅包含模式的第一个未注释行。由于有几个注释和未注释的类似行,我无法仅编辑它的第一次出现
原来的:
#/app2/rsync_root:IP1:IP2:IP3:IP4
/app2/rsync_root:IP1:IP2:IP3:IP4
/app2/rsync_root:IP1:IP2:IP3:IP4
编辑后的预期结果:
#/app2/rsync_root:IP1:IP2:IP3:IP4
/app2/rsync_root:ipaddr1:ipaddr2:ipaddr3:ipaddr4
/app2/rsync_root:IP1:IP2:IP3:IP4
怎么了:
#/app2/rsync_root:IP1:IP2:IP3:IP4
/app2/rsync_root:ipaddr1:ipaddr2:ipaddr3:ipaddr4
/app2/rsync_root:ipaddr1:ipaddr2:ipaddr3:ipaddr4
我可以使用 LHS 中的第一个冒号作为分隔符,因为后面的字段可以是任何内容。
现在我正在使用这个命令:
sed -ie '/^#/!s/:.*/:$ipaddr1:$ipaddr2:$ipaddr2:$ipaddr1/'