
디렉토리에 존재하는 모든 js 파일의 문자열을 바꾸고 싶습니다.
export name="test_user" &&
echo $customerName &&
sed -i -- 's/this.NAME=""/this.NAME=\"'$name'\"/g' *.js
공백을 사용하지 않으면 잘 작동하지만 위의 문자열을 사용하면 명령이 실패합니다.
답변1
's/this\.NAME=""/this.NAME="'"$name"'"/g'
여러 부분으로 나누어집니다:
's/this\.NAME=""/this.NAME="'
"$name"
, 이것이 중요한 부분입니다. 변수 확장을 인용해야 합니다.'"/g'
또한 대체에 를 사용하고 \"
작은따옴표로 묶인 경우 결과에 \"
가 아닌 을 삽입하게 됩니다."
라는 변수를 사용하는 것 같습니다 customerName
. 나는 이것이 오타라고 가정합니다.
sed
당신이 사용하고 있는 것이 당신이 원하는 방식으로 내부 편집을 할 수 있는지 여부 는 모르겠습니다.
관련된: