Sed - 's'에 대한 알 수 없는 옵션

Sed - 's'에 대한 알 수 없는 옵션

sed스크립트에서 명령을 실행합니다 .

sed -i "${1}s/${2}=.*/${2}=${REPLY}/" $3

이것은 에코입니다.

sed -i 13s/log4j.appender.ROOT2.File=.*/log4j.appender.ROOT2.File=/app/TET/log.log/ /applis/DIAPASON/diapason1/conf/log4j.properties

내 실수:

sed: -e expression n°1, character 61: unknown option for

답변1

변수에 여러 /문자가 있어서 $REPLY혼란스럽습니다 sed.

s///대부분의 Python 버전에서는 명령에 대해 대체 구분 기호를 선택할 수 있으므로 sed, 저라면 다음과 같이 시도해 보겠습니다.

sed -i "${1}s|${2}=.*|${2}=${REPLY}|" $3

이는 /sed를 대체하여 in (희망적으로)이 해석되지 않도록 |합니다 ./${REPLY}sed

답변2

명령 구분 기호로 임의의 문자를 사용하십시오. 다음 예를 참조하십시오.

sed -Ei "s|$k|$j|g" filename.txt

관련 정보