2014-07-15 2 views
0

달성하고자하는 것은 하나의 폴더에있는 모든 * .txt 파일 내의 일부 자리 표시자를 대체한다는 것입니다.texfile의 내용을 대체하는 쉘 스크립트 실행하기

저는 실제로 쉘 스크립트를 사용하지 않지만이 목적을 위해 사용하고 싶습니다. 내 첫 번째 시도는이이었다

#!/bin/sh 
MYSTRING="Thesedentary" 
echo $MYSTRING 
perl -pi -w -e 's/{{PLACEHOLDER}}/${MYSTRING}/g;' /path_to_directory/*.txt 

내가 perl -pi -w -e 's/.../.../g;' /path_to_directory/*.txt 두 번째 /.../에 처음 /.../의 내용을 대체하지만 당신은 내가 변수의 내용으로 두 번째 /.../을 대체 할 볼 수있는 것이라는 점을 알고있다 ->MYSTRING .

#!/bin/sh 
MYSTRING='Thesedentary' 
eval "perl -pi -w -e 's/{{TEST}}/${MYSTRING}/g;' /path_to_directory/*.js" 

사용 eval에 ->

감사

답변

0

을 발견 솔루션을

Name "main::MYSTRING" used only once: possible typo at -e line 1. 

그러나 파일의 {{PLACEHOLDER}} 아무것도로 대체됩니다 : 내가 할 모든이입니다 명령을 실행하십시오.

관련 문제