@Steve Kehlet पोस्ट में एक टिप्पणी जोड़ देगा लेकिन 50 प्रतिनिधि (RIP) की आवश्यकता है।
किसी ऐसे व्यक्ति के लिए जिसने इस पोस्ट को कई गोग्लिंग के माध्यम से पाया है, मुझे एक विशिष्ट समय सीमा को देखते हुए न केवल विशिष्ट फ़ाइलों को खोजने का एक तरीका मिला, बल्कि रिश्तेदार पथ या व्हाट्सएप को भी शामिल करना होगा जो त्रुटियों को पैदा करेगा। (आपको बहुत अच्छा लगता है।)
find . -name "*.pdf" -type f -mtime 0 -printf "%f\0" | tar -czvf /dir/zip.tar.gz --null -T -
.
रिश्तेदार निर्देशिका
-name "*.pdf"
pdfs (या किसी फ़ाइल प्रकार) के लिए देखें
-type f
फ़ाइल देखने के लिए टाइप करें
-mtime 0
पिछले 24 घंटों में बनाई गई फ़ाइलों को देखें
-printf "%f\0"
नियमित -print0
या -printf "%f"
मेरे लिए काम नहीं किया। मैन पेज से:
यह उद्धरण उसी तरह से किया जाता है जैसे कि GNU ls के लिए। यह एक ही उद्धृत तंत्र नहीं है, जैसे कि -ls और -fl के लिए उपयोग किया जाता है। यदि आप यह निर्धारित करने में सक्षम हैं कि खोज के आउटपुट के लिए किस प्रारूप का उपयोग करना है, तो न्यूलाइन का उपयोग करने की तुलना में टर्मिनेटर के रूप में '\ 0' का उपयोग करना बेहतर है, क्योंकि फ़ाइल नामों में सफेद स्थान और न्यूलाइन वर्ण शामिल हो सकते हैं।
-czvf
संग्रह बनाएं, संग्रह को gzip के माध्यम से फ़िल्टर करें, क्रियाशील सूची फ़ाइलों को संसाधित करें, संग्रह नाम
संपादित करें 2019-08-14: मैं यह जोड़ना चाहूंगा, कि मैं अपनी टिप्पणी में अनिवार्य रूप से उसी कमांड का उपयोग करने में सक्षम था, बस खुद को टारगेट करता हूं:
tar -czvf /archiveDir/test.tar.gz --newer-mtime=0 --ignore-failed-read *.pdf
जरूरत --ignore-failed-read
के मामले में आज के लिए कोई नया पीडीएफ नहीं था।
find ... | xargs ...
-print0 / -0 से प्रत्येक पर पैरामीटर का उपयोग करने के लिए है:find -print0 ... | xargs -0 ...
। यह फ़ाइल नाम को एक अशक्त चरित्र से अलग करेगा, जिसका अर्थ है कि आपके फ़ाइल नाम में रिक्त स्थान या नई लाइनें या अन्य अजीब चीजें हो सकती हैं और यह अभी भी काम करेगा।