저는 Corona SDK를 사용하여 그래픽 라이브러리를 변경했습니다. 즉, 함수 setReferencePoint()의 모든 인스턴스를 2 개의 속성 " anchor.x "및"anchor.y "입니다. 예컨대lua 함수 호출을 쉘 스크립트를 사용하는 모든 파일에서 2 개의 매개 변수로 바꿉니다
thePlayer:setReferencePoint(display.TopLeftReferencePoint)
는
thePlayer.anchorX, thePlayer.anchorY = 0, 0
내 프로젝트 중 일부는 setReferencePoint()의 인스턴스의 수백되고, 그래서 자동으로 나를 위해 모든 인스턴스를 대체 할 스크립트를 만들기 위해 노력했다. 그러나 나는 쉘 스크립트에 대한 많은 경험이 없기 때문에 아직 많은 운이 없었습니다. I라는 오류를 받고 있어요
#!/bin/bash
OLD=":setReferencePoint(display.TopLeftReferencePoint)"
NEW=".anchorX, .anchorY = 0, 0"
DPATH="/Users/me/Desktop/game/*.lua"
BPATH="/Users/me/Desktop/game/new"
[ ! -d $BPATH ] && mkdir -p $BPATH || :
for f in $DPATH
do
if [ -f $f -a -r $f ]; then
/bin/cp -f $f $BPATH
sed -i "s/$OLD/$NEW/g" "/Users/me/Desktop/game/new/$f.lua"
else
echo "Error: Cannot read $f"
fi
done
"는 예상하는이 텍스트 뒤에 \ 명령"하지만 그 과거를 얻을 경우에도 내가 또 다른 문제가 : 이것은 내 현재 스크립트입니다. ": setReferencePoint (display.TopLeftReferencePoint)"전에 변수 이름을 검색해야하므로 새 문자열의 ".anchorY"부분 앞에 삽입 할 수 있습니다.
이렇게 스크립트에서 가능한가요?