여러 클라이언트 영역 파일에서 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
GNU sed
삽입 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"
네 번째 더하기 기호를 찾습니다.+
"v=spf1 +a +mx +ip4:xxx.xxx.xxx.xxx+…”
더하기 기호와 IP로 바꾸십시오 +
.