मैं कैसे जांचूं कि कौन सी बरामद फाइलें वैध हैं?


0

मेरे पास बहुत सारी पुनर्प्राप्त फ़ाइलें हैं जिनमें से कई अमान्य हैं, भले ही वे नाम और विस्तार से ठीक हों। यह अपेक्षित है।

अब मुझे उन चीजों को छानने की जरूरत है जो शायद ठीक हैं। मैं विकल्पों को देखता हूं:

उदाहरण के लिए, पावर प्वाइंट फाइलें (* .pptx) वास्तव में जिप कंटेनर हैं जो पहले दो बाइट्स में पीके से शुरू होते हैं। तो आज्ञा

head --byte 2 filename

पीके के साथ शुरू नहीं करते हुए अधिकांश अच्छी फ़ाइलों के लिए पीके को आउटपुट करता है।

प्रश्न 1: मैं कैसे जोड़ सकते हैं headके साथ findफ़ाइलों से मेल खाने वाले की सूची के लिए?

एक और तरीका है fileकमांड। यह प्रिंट करता है

Zip archive data, at least v2.0 to extract

अच्छी पावर प्वाइंट फाइलों के लिए लेकिन बस

data

खराब फ़ाइलों के लिए।

प्रश्न 2: मैं कैसे जोड़ सकते हैं fileके साथ findवैध फ़ाइलों को सूचीबद्ध करने के लिए?

वहाँ भी अन्य फ़ाइल प्रकार हैं, लेकिन अगर मैं केवल सुराग मिल मैं तकनीक में वृद्धि कर सकते हैं :)

प्रश्न 3: क्या ऐसा करने के अधिक स्पष्ट तरीके हैं?

जवाबों:


1

खोजने के साथ आप कुछ ऐसा कर सकते थे

find . -type f -exec file "{}" + | awk  '/Zip archive data/ {print $1}' | sed 's/:$//'

जो फ़ाइल नाम को प्रिंट करेगा (फ़ाइल की ट्रेलिंग :) को हटाकर जो फ़ाइल Zip archiveडेटा के रूप में पहचान करता है।


धन्यवाद! awk भी एक अच्छा उपाय है, हालांकि मैंने चीजों को काफी आसान बनाने के लिए -printf पैरामीटर पाया है।
मार्स

0

मैं grep का उपयोग करने की सलाह दूंगा, क्योंकि यह एक फ़ाइल में पाठ की खोज के लिए मानसिक है।

मुझे आपके द्वारा किए जाने वाले विवरणों में से कुछ नहीं है, लेकिन यह आपको शुरू करना चाहिए: http://www.computerhope.com/unix/ugrep.htm


मैं अच्छी तरह से जानता हूं, लेकिन मुझे फ़ाइल की शुरुआत में, केवल लाइन की शुरुआत (^ ऑपरेटर) की अभिव्यक्ति को एंकर करने का विकल्प नहीं मिल रहा है।
marlar

0

मैंने उस -printfपैरामीटर की खोज की है findजो कई चीजों का उपयोग करने की तुलना में बहुत आसान बनाता है -exec। तो यह कमांड (शायद) अच्छी फाइलों की पहचान करेगा और उन्हें उपनिर्देशिका में स्थानांतरित करेगा जिसे अच्छा कहा जाता है:

find . -type f -printf "file '%p' | grep 'Zip archive data' && mv '%p' good \n" | sh

वर्ड और एक्सेल दस्तावेजों के लिए आप स्ट्रिंग "लेखक:" का उपयोग कर सकते हैं क्योंकि मान्य डॉक फ़ाइलों में यह विशेषता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.