パターンのみを含む最初のコメント解除された行を編集しようとしています。コメントされたものとコメントされていない同様の行がいくつかあるため、最初に出現したものだけを編集することはできません
オリジナル:
#/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/'