मेरे पास लिनक्स मशीन पर निम्नलिखित नामकरण के साथ लाखों फाइलें हैं:
1559704165_a1ac6f55fef555ee.jpg
पहले 10 अंक टाइमस्टैम्प हैं और उसके बाद _
विशिष्ट आईडी हैं। मैं विशिष्ट फ़ाइल नाम से मेल खाते सभी फ़ाइलों को एक अलग फ़ोल्डर में ले जाना चाहता हूं।
मैं फ़ाइलों के साथ निर्देशिका पर यह कोशिश की
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
हालाँकि मुझे संकेत मिलने में त्रुटि हो रही है:
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
जब मैंने कोशिश की, तो mv ??????????_a1ac*.jpg
मुझे तर्क सूची बहुत लंबी त्रुटि मिल रही है। मेरे पास 15 अलग-अलग फ़ाइलनाम पैटर्न हैं। मैं उन्हें कैसे आगे बढ़ाऊं।
| ??????????_a1ac*.jpg
:: बैश का विस्तार कई फ़ाइल नाम के लिए होता है, पहले जा रहा है1559704165_a1ac6f55fef555ee.jpg
, सी आप इसे पूरा करते हैं। उस 2 वें चरण में, निष्पादित करने की कोशिश कर रहा है:1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filename
मुझे लगता है कि आपने उस फ़ाइलनाम को फ़िल्टर करने के लिए इसके बजाय कोशिश की है (उस के लिए नीचे दिए गए उत्तर देखें)