मैं 30 दिनों से अधिक पुरानी निर्देशिका, फ़ाइलों और निर्देशिकाओं को साफ़ करने के लिए निम्न आदेश का उपयोग करता हूं, और उन्हें एक संग्रह निर्देशिका में स्थानांतरित करता हूं, जिसे मैं कुछ हफ्तों के बाद हटा सकता हूं यदि कोई भी उनकी फ़ाइलों को वापस नहीं मांगता है। लक्ष्य निर्देशिका में उपयोगकर्ता नाम द्वारा उपनिर्देशिकाएं हैं, इसलिए संग्रह निर्देशिका होगी।
यह वह कमांड है जिसका मैं उपयोग करता हूं:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
मैं ubuntu पूछने पर एक सवाल का जवाब देने के लिए इस का एक संशोधित संस्करण का सुझाव दिया, किसी अन्य उपयोगकर्ता पंक्ति के अंत बदलने के लिए कोड संपादित \;
करने के लिए +
यह तेजी से है के रूप में (और अधिक सही?)। यहाँ देखें
हालाँकि, +
इस तरह से उपयोग करना काम करता है यदि -exec
कमांड है ls -lh
लेकिन वास्तविक कमांड में नहीं है जो मैं उपयोग करता हूं। अगर मैं इसे +
एक त्रुटि संदेश के साथ आज़माता हूँ:
find: missing argument to '-exec'
मुझे समझ में नहीं आ रहा है कि यह इस तरह क्यों व्यवहार कर रहा है, या सही कमांड क्या होगा। कृपया केवल एक कमांड सुधार पोस्ट न करें, मैं केवल एक सुझाव का आँख बंद करके पालन करने के बजाय समझना चाहूंगा।
+
एक ही कमांड में कई तर्कों की आपूर्ति करता है, लेकिन mv
इसके साथ सामना नहीं कर सकता!