sed busybox에서는 검색 및 바꾸기가 작동하지 않습니다. sed 가져오는 중: 일치하지 않는 '/' 오류

sed busybox에서는 검색 및 바꾸기가 작동하지 않습니다. sed 가져오는 중: 일치하지 않는 '/' 오류

특정 문자열을 검색하고 파일 내의 모든 항목을 바꾸려고 합니다.

sed -i -e "s/$search_string/$replace_string/g" $filePath

sed: unmatched '/'BusyBox v1.35.0에서 계속 오류가 발생합니다 . 그러나 내 로컬 시스템에서도 똑같은 일이 잘 작동합니다.

그리고아니요, $search_string및 에는 가 $replace_string포함되어 있지 않습니다 /. 혹시라도 모든 유형의 구분 기호를 사용해 보았습니다.

답변1

$replace_string이 공백과 새 줄이 포함된 base64로 인코딩된 문자열이기 때문에 문제가 발생했습니다.

replace_string=$(echo -n $json_string | base64)

위의 명령을 다음으로 변경합니다.

json_string=$(echo -n $json_string | base64 -w 0)

나를 위해 해결해 줬어

-w, --wrap=COLS COLS 문자 뒤에 인코딩된 줄을 묶습니다(기본값 76). 줄 바꿈을 비활성화하려면 0을 사용합니다.

관련 정보