sed, 특정 줄에 텍스트를 삽입하기 위한 명령에서 변수(숫자 제공)를 분리

sed, 특정 줄에 텍스트를 삽입하기 위한 명령에서 변수(숫자 제공)를 분리

sed에 문제가 있는데 특정 줄에 텍스트를 삽입하기 위한 숫자 명령을 제공하는 변수가 보입니다.

변수가 없는 작업 코드는 다음과 같습니다.

sed -i '1i\NewLineHere\' ~/file/location/here.txt

숫자 1을 $var로 변경해야 하지만 그 옆에 문자 'i'가 남아 있고(공백 없음) 변수의 일부로 표시되지 않습니다. sed가 변수를 올바르게 볼 수 있도록 '' 대신에 ''를 사용합니다. 셀 수 없이 많은 다른 시도를 시도했지만 아무 것도 작동하지 않았습니다. 변수 옆에 'i'를 유지하면서 변수에서 연결을 끊으려고 시도하지 않고 문제가 어떻게 보이는지에 대한 예:

 sed -i "$vari\NewLineHere\" ~/file/location/here.txt

제안이나 답변에 미리 감사드립니다.

답변1

{}변수 이름을 인용하는 것이 유용한 경우입니다 . 귀하의 경우에는${var}

예를 들어:

$ var=100
$ echo $vari

$ echo ${var}i
100i

{...}변수 이름에 대한 "범위 지정" 역할을 합니다 .

(참고: 와 \사이를 전환할 때 문자 에 주의하세요 .)'"

관련 정보