ある文字を別の文字に置き換えますが、他の文字は含まれていません

ある文字を別の文字に置き換えますが、他の文字は含まれていません

次の出力があり、IPアドレスの後の "/"で始まるすべてのエントリをvlanという単語の最初のインスタンスまで(含まれていない)置き換えます。これはどのように達成できますか?

sy3-fa-c3r801-lb-3b.audc1.xxxxx.com address 192.168.1.2/30 allow-service { default  traffic-group Common/traffic-group-local-only vlan Common/vlan-HA }
sy3-ibr-lb-1a.audc1.xxxxx.com address 160.34.63.68/29 floating enabled traffic-group Common/traffic-group-1 unit 1 vlan Common/vlan13 
sy3-ibr-lb-1a.audc1.xxxxx.com address 160.34.63.193/26 floating enabled traffic-group Common/traffic-group-1 unit 1 vlan Common/vlan23 
sy3-ibr-lb-1a.audc1.xxxxx.com address 192.168.1.1/30 allow-service { default  traffic-group Common/traffic-group-local-only vlan Common/vlan-HA }
sy3-ibr-lb-1a.audc1.xxxxx.com address 160.34.63.194/26 traffic-group Common/traffic-group-local-only vlan Common/vlan23 
sy3-ibr-lb-1a.audc1.xxxxx.com address 160.34.63.69/29 traffic-group Common/traffic-group-local-only vlan Common/vlan13 
sy3-ibr-lb-1b.audc1.xxxxx.com address 160.34.63.68/29 floating enabled traffic-group Common/traffic-group-1 unit 1 vlan Common/vlan13 
sy3-ibr-lb-1b.audc1.xxxxx.com address 160.34.63.193/26 floating enabled traffic-group Common/traffic-group-1 unit 1 vlan Common/vlan23 
sy3-ibr-lb-1b.audc1.xxxxx.com address 192.168.1.2/30 allow-service { default  traffic-group Common/traffic-group-local-only vlan Common/vlan-HA }
sy3-ibr-lb-1b.audc1.xxxxx.com address 160.34.63.195/26 traffic-group Common/traffic-group-local-only vlan Common/vlan23 
sy3-ibr-lb-1b.audc1.xxxxx.com address 160.34.63.70/29 traffic-group Common/traffic-group-local-only vlan Common/vlan13 

答え1

sed 's/\(.*[0-9]\)\/.* \(vlan.*\)/\1REPLACEMENT\2/' file

前の数字で最初の出現を照合し、/空白文字で最初の出現を照合します。vlan

答え2

動作する可能性があります

sed -r 's/vlan/\x01/;s/(([0-9]{1,3}[.]?){4})\/.*\x01/\1...vlan/' file

vlan欲を避けるために最初のプレースホルダーを使用してくださいsed。はい、IPの「オプション」ポイントに小さな穴があります。必要に応じて、より複雑な正規表現を使用してください。

関連情報