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"

관련 정보