수천 개의 JPG 파일에서 EXIF 정보를 재귀 적으로 제거하려면 어떻게해야합니까?
답변
특정 섹션을 제거하거나 변경하려는 경우 다른 ExifTool 제안이 좋습니다. 그러나 모든 메타 데이터를 완전히 제거하려면 맨 페이지에서 다음을 사용하십시오.
exiftool -all= dst.jpg
Delete all meta information from an image.
-de 플래그와 함께 jhead 를 사용할 수도 있습니다 .
-de Delete the Exif header entirely. Leaves other metadata
sections intact.
두 경우 모두 EXIF는 한 가지 유형의 메타 데이터 일뿐입니다. 다른 메타 데이터 섹션이있을 수 있으며, 수행하려는 작업에 따라이 두 프로그램 모두 일부를 유지하거나 제거하기위한 다른 옵션이 있습니다. 예를 들어 jhead -purejpg
이미지 렌더링에 필요하지 않은 모든 정보를 제거합니다.
답변
EXIF 처리 도구 exiv2
에는 EXIF 데이터를 삭제하는 명령이 있습니다.
exiv2 rm image.jpg
이미지에서 모든 EXIF 데이터를 제거합니다.
현재 디렉토리의 모든 JPEG 이미지에서 EXIF 데이터를 제거하려면
exiv2 rm *.jpg
현재 디렉토리의 모든 JPEG 이미지 및 모든 하위 디렉토리에서 재귀 적으로 EXIF 데이터를 제거하려면 다음을 사용하십시오.
find . -type f -iname '*.jpg' | xargs exiv2 rm
명령을 먼저 테스트하는 것이 좋습니다.
어떤 파일이 있는지 확인하려면 :
find . -type f -iname '*.jpg' | less
실행될 명령을 확인하려면
find . -type f -iname '*.jpg' | xargs echo exiv2 rm | less
명령을 실행하는 대신 인쇄 echo
하기 전에 삽입 한 것을 참고하십시오 exiv2
.
답변
exiftool 과 같은 일부 오픈 소스 도구를 살펴 봐야 합니다. 많은 옵션이 있습니다 (exif, xmp, iptc).
exiftool -overwrite_original \
-xmp:Creator='votre nom' \
-xmp:WebStatement='http://creativecommons.org/licenses/by-nc-nd/3.0/' \
-xmp:Rights='Copyright votre nom. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.' \
-iptc:By-line='votre nom' \
-iptc:CopyrightNotice='Copyright votre nom. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.' \
-exif:Artist='votre nom' \
-exif:Copyright='Copyright votre nom. This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License.' \
votre_fichier.jpg
다음에해야 할 유일한 일은 파일 (jpg)을 나열하고 작업을 수행하는 작은 스크립트를 작성하는 것입니다. 필드의 내용을 제거하려면 “^”로 설정해야합니다. 다음 예제와 같이
-Software= ^
-ModifyDate= ^
-CreatorTool= ^
-MetadataDate= ^
-Rating= ^
-ImageNumber= ^
-WhiteBalance= ^
-Temperature= ^
-Tint= ^
-IncrementalTemperature= ^
-IncrementalTint= ^
-Exposure= ^
-Shadows= ^
-Brightness= ^
-Contrast= ^
-Saturation= ^
-Sharpness= ^
-LuminanceSmoothing= ^
-ColorNoiseReduction= ^
-ChromaticAberrationR= ^
-ChromaticAberrationB= ^
-VignetteAmount= ^
-VignetteMidpoint= ^
-ShadowTint= ^
-RedHue= ^
-RedSaturation= ^-GreenHue= ^
-GreenSaturation= ^
-BlueHue= ^
-BlueSaturation= ^
-FillLight= ^
-Vibrance= ^
-HighlightRecovery= ^
-Clarity= ^
-Defringe= ^
-HueAdjustmentRed= ^
-HueAdjustmentOrange= ^
-HueAdjustmentYellow= ^
-HueAdjustmentGreen= ^
-HueAdjustmentAqua= ^
-HueAdjustmentBlue= ^
-HueAdjustmentPurple= ^
-HueAdjustmentMagenta= ^
-SaturationAdjustmentRed= ^
-SaturationAdjustmentOrange= ^
-SaturationAdjustmentYellow= ^
-SaturationAdjustmentGreen= ^
-SaturationAdjustmentAqua= ^
-SaturationAdjustmentBlue= ^
-SaturationAdjustmentPurple= ^
-SaturationAdjustmentMagenta= ^
-LuminanceAdjustmentRed= ^
-LuminanceAdjustmentOrange= ^
-LuminanceAdjustmentYellow= ^
-LuminanceAdjustmentGreen= ^
-LuminanceAdjustmentAqua= ^
-LuminanceAdjustmentBlue= ^
-LuminanceAdjustmentPurple= ^
-LuminanceAdjustmentMagenta= ^
-SplitToningShadowHue= ^
-SplitToningShadowSaturation= ^
-SplitToningHighlightHue= ^
-SplitToningHighlightSaturation= ^
-SplitToningBalance= ^
-ParametricShadows= ^
-ParametricDarks= ^
-ParametricLights= ^
-ParametricHighlights= ^
-ParametricShadowSplit= ^
-ParametricMidtoneSplit= ^
-ParametricHighlightSplit= ^
-SharpenRadius= ^
-SharpenDetail= ^
-SharpenEdgeMasking= ^
-ConvertToGrayscale= ^
-ToneCurveName= ^
-CameraProfile= ^
-HasSettings= ^
-CropTop= ^
-CropLeft= ^
-CropBottom= ^
-CropRight= ^
-CropAngle= ^
-CropWidth= ^
-CropHeight= ^
-CropUnit= ^
-HasCrop= ^
-AlreadyApplied= ^
-ToneCurve= ^
-CameraProfile= ^
-ApplicationRecordVersion= ^
답변
exiftool 사용에 대한 Vincent의 제안 은 좋습니다. 파일 이름의 단일 인수를 허용하고 원하는 스트립 함수를 실행하는 스크립트를 작성하는 것이 좋습니다. 그런 다음 find
파일 세트에서이 스크립트를 실행 하는 데 사용 하십시오. 스크립트는 다음과 같습니다.
#!/bin/sh
exiftool -overwrite_original -ExifFieldName=^ [-MoreExifFieldNames=^] $1
이것을로 저장한다고 가정하면 /usr/local/bin/strip_exif.sh
다음과 같이 jpeg 파일이있는 폴더로 이동하여 호출 할 수 있습니다.
find -type f -iname '*.jpg' -exec strip_exif.sh {} \;
편집 : 모든 태그를 제거하는 인수에 대한 mattdm의 답변을 본 후 스크립트를 건너 뛰고 다음과 같이 찾기를 사용할 수 있다고 생각합니다.
find -type f -iname '*.jpg' -exec exiftool -all= {} \;