Bashスクリプトで特定のファイル行の後にテキストを追加する

Bashスクリプトで特定のファイル行の後にテキストを追加する

ip.txtIPアドレスを含むtxt()ファイルがあります。 TCPとUDPにグループ化します。文書から抜粋した内容は次のとおりです。

#TCP
162.298.38.930
162.298.38.931
162.298.38.932
#UDP
162.298.38.930
162.298.38.931
162.298.38.932

私は特定のIP(162.298.38.929)を持っており、bashスクリプトを介してTCP行とUDP行の下のip.txtに両方を追加できるので、次のようになります。

#TCP
162.298.38.929
162.298.38.930
162.298.38.931
162.298.38.932
#UDP
162.298.38.929
162.298.38.930
162.298.38.931
162.298.38.932

Bashスクリプトでこれをどのように達成できますか?私の場合、ファイルにコメントをたくさん追加して#TCP、#UDP行番号が変わる可能性があるため、行番号は機能しません。 BashスクリプトはTCPとUDPでIPを検索して追加する必要があります。

ベストアンサー1

GNU Sedを使った追加作業

両方のセクションがあり、両方のエントリの162.298.38.932直下に別のIPアドレスを追加する場合は、次のsedスクリプトがこれを行います。

sed '/162\.298\.38\.932/a\162.298.38.929' ip.txt

おすすめ記事