sed 명령을 사용하여 특정 줄의 단어 대체를 어떻게 변경할 수 있습니까?

sed 명령을 사용하여 특정 줄의 단어 대체를 어떻게 변경할 수 있습니까?

네 번째 줄의 단어를 바꿔야 했기 때문에 다음 명령을 사용했습니다.

sed -i '4 s/previous_word/new_word/' filename

그것은 아주 잘 작동합니다. 그러나 줄 번호를 변수에 저장하고 동일한 명령을 실행하면 다음 오류가 발생합니다.

$ sed -i '${line_no} s/previous_word/new_word/' filename
 error
 sed: -e expression #1, char 5: expected newer version of sed

어떻게 하면 올바르게 할 수 있나요?

답변1

작은따옴표 대신 큰따옴표를 사용하세요.

sed -i "${line_no}..."

바라보다스택 오버플로: bash의 작은따옴표와 큰따옴표의 차이점

관련 정보