複数のクライアントゾーンファイルでspfレコードを更新する必要があります。
既存のspfレコードは次のとおりです。
"v=spf1 +a +mx +ip4:xxx.xxx.xxx.xxx +include:spf.web-xxx.com ~all"
私がしなければならないのは、v = spf1 + a + mxの後に新しいIPアドレスを挿入することです。
希望の出力は
"v=spf1 +a +mx +ip4:yyy.yyy.yyy.yyy +ip4:xxx.xxx.xxx.xxx +include:spf.web-xxx.com ~all"
私はこのコマンドを試しています:
sed '/v=spf1 +a +mx /a +ip4:yyy.yyy.yyy.yyy' myfile
ただし、行の末尾に新しいIPが追加されます。
だから私は次のことを試みます:
sed '/v=spf1 +a +mx /i +ip4:67.215.1.206' myfile
しかし、私は同じ結果を得ます。
何が間違っているのかわかりません。
助けてくれてありがとう。
キャリー
答え1
GNUsed
挿入i
と追加コマンドにa
追加されました新しい行。文字列を置き換えようとしています。同じ行そのため、代替コマンドが必要ですs
。
テキストメッセージを送信
行の前にテキストを挿入します(代替構文)。
テキスト段落
行の後にテキストを追加します。これは標準のaコマンドのGNU拡張です。詳しくは下記をご覧ください。
例えば
$ echo foo | sed ibar
bar
foo
$ echo foo | sed abar
foo
bar
行の形式が常に同じであると仮定した場合は、次のようにしてみてください。
$ sed 's/+/+ip4:127.0.0.1 +/4' file
"v=spf1 +a +mx +ip4:xxx.xxx.xxx.xxx +ip4:127.0.0.1 +include:spf.web-xxx.com ~all"
4番目のプラス記号を探します。+
"v=spf1 +a +mx +ip4:xxx.xxx.xxx.xxx+… 」
プラス記号とIPに置き換えます+
。