2017-03-10 5 views
0

sed 명령에서 매개 변수를 사용하는 함수를 만들려고합니다.sed 명령에 매개 변수를 전달하는 방법

replace_json_str() { 
    x=$1 
    sed -i -e 's/\("$2":"\)[^"]*\("\)/\$3\2/g' $x 
} 

원래 JSON : { "USER":"root" }

사용법 : replace_json_str test.json USER pi

예상 JSON : 쉘은 작은 따옴표로 변수를 확장하지 않습니다 { "USER":"pi" }

답변

0

. 사용해보기 :

replace_json_str() { 
    x=$1 
    sed -i -e 's/\({ "'"$2"'":\)"[^"]*" }/\1"'"$3"'" }/g' $x 
} 
관련 문제