내부 작업과 Perl에 대한 약간의 지식이 있지만, 이것을 exiftool로 할 수 있습니다.
예를 들어, 10 분 간격 (+/- 5 분)으로 무작위로 시간을 "흐리게"표시합니다 (기술적으로 9 분 59 초, 0에 도달 할 확률) :
exiftool -d %s "-DateTimeOriginal<${DateTimeOriginal;$_+=(int(rand(600))-300)}" <FileOrDir>
내역 :
-d %s
- 이것은 UNIX 시간과 날짜 형식을 변경 1970:01:01 00:00:00
-DateTimeOriginal<
이후의 초 수 - 복사되고있는 태그, 태그와 아마 같은이 복사된다. 보다 작음 부호 <
은 태그 복사 작업을 나타냅니다.
${DateTimeOriginal;$_+=(int(rand(600))-300)}
- exiftools 고급 서식 기능 (일명 Perl 코드)을 사용하여 일부 변경 사항과 함께 복사되는 태그입니다. -d
옵션으로 인해이 DateTimeOriginal 태그 값은 UNIX 시간 형식입니다. 그런 다음 0에서 599 사이의 임의의 숫자가 int(rand(600))
으로 생성되고 300을 빼고 반 이상이 음수이고 나머지는 양수 (또는 0)가됩니다. 기본 변수 $_
을 사용하여 생성 된 번호 +=
에 추가하십시오.
GPSLatitude
과 GPSLongitude
을 흐리게 처리하려면도/분/초 대신 소수점 좌표를 사용하고 십진수는 수십 마일이 될 수 있으므로 훨씬 작은 수를 사용하여 비슷한 작업을 수행하십시오. 이 경우 명령의 중요한 부분은
"-GPSLatitude<${GPSLatitude#;$_+=(rand()-.5)/10}"
과 비슷할 것입니다. 여기서 해시 태그 #
을 GPSLatitude
과 같이 10 진수 좌표 값으로 사용했습니다. 또 다른 옵션은 -c
옵션을 사용했을 것입니다. 나는 또한 변화의 수준을 100 번째 십진수로 가져 왔는데, 아마도 나는 수 마일이나 수십 마일에이를 것으로 생각합니다. 이것은 적절하게 반구를 고려하지 않기 때문에 적도와 자오선 근처에서 나 빠지게됩니다.
모두 함께 넣어 :
exiftool -d %s "-DateTimeOriginal<${DateTimeOriginal;$_+=(int(rand(600))-300)}" "-GPSLatitude<${GPSLatitude#;$_+=(rand()-.5)/10}" "-GPSLongitude<${GPSLongitude#;$_+=(rand()-.5)/10}" <FileOrDir>
이 명령은 백업 파일을 생성합니다. -overwrite_original
을 추가하여 백업 파일 생성을 억제하십시오. 서브 디렉토리로 되풀이하기 위해 -r
을 추가하십시오. 이 명령을 Unix/Mac에서 실행하는 경우 이중/작은 따옴표를 뒤집어서 bash 해석을 피하십시오.
매우 상세하고 유익한 답변을 보내 주셔서 감사합니다. 정말 감사.이것은 내가 필요한 것을 정확하게 수행해야합니다. – ludinom