제길. perl 제작한 프로그램에 버그가 있다. mysql 접근 권한을 update를 주면 perl이 접속하면서 gps 정보를 초기화한다. perl 조회 계정을 하나 만들어 select 권한만 주었다.
그리고 GPS에 N,S, E, W 네 방향이 있다. 완전 좌절..
잘못한 update 칼럼을 찾아 다시 좌표를 넣어줘야 한다.
#!/bin/bash #file 유무 확인 if [ ! -f $1 ];then echo "file is not there"; exit fi #N, S, E, W 방향 확인. GpsRefNS=$(exiv2 -pa $1 2> /dev/null | grep -ae "Exif\.GPSInfo\.GPSLatitudeRef.*Ascii" | sed 's/ \{1,\}/ /g'|cut -d' ' -f4-) GpsRefEW=$(exiv2 -pa $1 2> /dev/null | grep -ae "Exif\.GPSInfo\.GPSLongitudeRef.*Ascii" | sed 's/ \{1,\}/ /g'|cut -d' ' -f4-) if [ -z "$GpsRefNS" ] then exit; fi; if [ -z "$GpsRefEW" ] then exit; fi; GpsLat=$(exiv2 -pa $1 2> /dev/null | grep -ae "Exif\.GPSInfo\.GPSLatitude.*Rational" | sed 's/ \{1,\}/ /g' | cut -d' ' -f4-) GpsLong=$(exiv2 -pa $1 2> /dev/null | grep -ae "Exif\.GPSInfo\.GPSLongitude.*Rational" | sed 's/ \{1,\}/ /g'| cut -d' ' -f4-) #GpsLat마지막 숫자 GpsLatSec=$(echo $GpsLat | cut -d' ' -f3 | tr -d "\"") GpsLatMin=$(echo $GpsLat | cut -d' ' -f2 | tr -d "\'") #초가 없는 경우 0을 입력. if [ -z "$GpsLatSec" ] then GpsLatSec=0; fi GpsLongSec=$(echo $GpsLong | cut -d' ' -f3 | tr -d "\"") GpsLongMin=$(echo $GpsLong | cut -d' ' -f2 | tr -d "\'") if [ -z "$GpsLongSec" ] then GpsLongSec=0; fi #GPS자표가 숫자인지 확인 re='^[0-9]{1,3}$' #가끔 소수점도 있음.. re='^[0-9]{1,3}(\.[0-9]{1,5}$|$)' if ! [[ $GpsLatSec =~ $re ]] then exit 1; fi if ! [[ $GpsLatMin =~ $re ]] then exit 1; fi GpsLatFloat=$(bc <<< "scale=4;($GpsLatSec/60+$GpsLatMin)/60") GpsLongFloat=$(bc <<< "scale=4;($GpsLongSec/60+$GpsLongMin)/60") #$Gps 인티저 GpsLatInt=$(echo $GpsLat | cut -d' ' -f1 | tr -d "d-g"); GpsLongInt=$(echo $GpsLong | cut -d' ' -f1 | tr -d "d-g"); #$전체 숫자. GpsLatFull=$(bc <<< "scale=4;$GpsLatFloat+$GpsLatInt"); GpsLongFull=$(bc <<< "scale=4;$GpsLongFloat+$GpsLongInt"); #South, West면 반전 if [ "$GpsRefNS" = "South" ] then GpsLatFull=$(bc <<< "scale=4;$GpsLatFull*-1"); fi if [ "$GpsRefEW" = "West" ] then GpsLongFull=$(bc <<< "scale=4;$GpsLongFull*-1"); fi echo $GpsLatFull,$GpsLongFull;
이제 사진에 태그와 perl이 표시할 수 있는 내용을 입력해야 한다. perl에서 추가 모듈이 한글로 된 칼럼은 조회할 수 없다. 동일한 내용으로 영어로 만들었다. 이것도 개노가다.
전에 만든 php를 활용하여 사진을 업데이트 했다.