मैं कई हजार JPG फ़ाइलों से EXIF जानकारी को कैसे हटा सकता हूँ?
मैं कई हजार JPG फ़ाइलों से EXIF जानकारी को कैसे हटा सकता हूँ?
जवाबों:
यदि आप विशिष्ट अनुभागों को निकालना या बदलना चाहते हैं तो अन्य ExifTool सुझाव बहुत अच्छे हैं। लेकिन अगर आप सभी मेटाडेटा को पूरी तरह से हटा देना चाहते हैं, तो इसका उपयोग करें (मैन पेज से):
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 केवल एक प्रकार का मेटाडेटा है। अन्य मेटाडेटा अनुभाग मौजूद हो सकते हैं, और आप जो करना चाहते हैं, उसके आधार पर, इन दोनों कार्यक्रमों में कुछ को संरक्षित करने या इसे हटाने के लिए अलग-अलग विकल्प हैं। उदाहरण के लिए, 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
, इसे चलाने के बजाय नोट करें ।
आपको एक्सफोलिट जैसे कुछ ओपनसोर्स टूल को देखना चाहिए । बहुत से विकल्प है (एक्सिफ़, 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= ^
एक्सफ़नटूल का उपयोग करने का विन्सेंट का सुझाव अच्छा है। मेरा सुझाव है कि आप एक स्क्रिप्ट लिखें जो फ़ाइल नाम के किसी भी तर्क को स्वीकार करता है, और उस पर आपके इच्छित स्ट्रिप फ़ंक्शन चलाता है। फिर 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= {} \;