数千のJPGファイルからEXIF情報を再帰的に削除するにはどうすればよいですか?
他のExifToolの提案は、特定のセクションを削除または変更する場合に最適です。ただし、すべてのメタデータを完全に削除したい場合は、これを使用します(manページから)。
exiftool -all= dst.jpg
Delete all meta information from an image.
jhead を-deフラグとともに使用することもできます。
-de Delete the Exif header entirely. Leaves other metadata
sections intact.
どちらの場合も、EXIFはメタデータの1つのタイプにすぎないことに注意してください。他のメタデータセクションが存在する場合があり、実行する操作に応じて、これらのプログラムの両方で、一部を保持するか、すべてを削除するための異なるオプションがあります。例えば、 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= ^
Vincentの exiftoolの使用を提案 は良いです。ファイル名の単一の引数を受け入れ、目的のストリップ関数を実行するスクリプトを書くことをお勧めします。次に、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= {} \;