sed:特定の行の特定の文字の後にテキストを挿入する

sed:特定の行の特定の文字の後にテキストを挿入する

以下は私のテキストファイルです。

example.txt
INTERFACESv4=""
INTERFACESv6=""

私のコードは次のとおりです(14番目の文字の後にIPアドレスを挿入します)。

ip_add="192.168.1.2"
file_name="$HOME\Documents\example.txt"
sed -i "s/^\(.\{14\}\)/\1${ip_add4}/" "$file_name"

以下は私のテキストファイルの出力です。

example.txt
INTERFACESv4="192.168.1.2"
INTERFACESv6="192.168.1.2"

最初の行にテキストを挿入するには?

ベストアンサー1

最小限の変更は、コマンドが行 1 でのみ実行されるように強制することです。

sed -i "1s/^\(.\{14\}\)/\1${ip_add4}/" "$file_name"

値のみを変更したい場合は、INTERFACESv4値が表示される行に関係なく、より制限的な検索モードを検討できます。

sed -i "s/INTERFACESv4=.*/INTERFACESv4=${ip_add4}/" "$file_name"

おすすめ記事