তাই বোবা অধৈর্য আমার 19.04 সার্ভারে উপস্থাপিত ফাইলগুলির একটি গুচ্ছ ফোল্ডারে স্থানান্তরিত করার চেষ্টা করার জন্য নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করেছিল:
dirs=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
shopt -s nocasematch
for file in *
do
for dir in "${dirs[@]}"
do
if [ -d "$file" ]; then
echo 'this is a dir, skipping'
break
else
if [[ $file =~ ^[$dir] ]]; then
echo "----> $file moves into -> $dir <----"
mv "$file" "$dir"
break
fi
fi
done
done
এটি কোথায় ভুল হয়েছে সে সম্পর্কে কোনও ক্লু নেই, তবে ফাইলগুলি ফোল্ডারে সরিয়ে দেওয়ার পরিবর্তে এটি একটি একক আউটপুটে চলে গেছে .. সুতরাং:
----> a1.ts moves into -> A <----
----> a2.ts moves into -> A <----
----> a3.ts moves into -> A <----
----> a4.ts moves into -> A <----
----> a5.ts moves into -> A <----
----> c1.ts moves into -> C <----
----> c2.ts moves into -> C <----
----> c3.ts moves into -> C <----
----> c4.ts moves into -> C <----
----> c5.ts moves into -> C <----
আমি ভাগ্যক্রমে প্রক্রিয়াটি বন্ধ করে দিয়েছিলাম (সিটিআরএল + সি) যত তাড়াতাড়ি আমি লক্ষ্য করেছি যে এটি উদ্দেশ্য হিসাবে চলছে না এবং পুরো ফোল্ডারে যায় নি।
সুতরাং এখন আমি এই ফাইলগুলি পেয়েছি A
এবং C
যা কোনও গিগাবাইটের চেয়ে কম, এবং এটির দ্বারা একটি সিঙ্গল ভিডিও।
ফোল্ডারটি নিজেই মোট ডিস্ক ব্যবহারের ক্ষেত্রে 50 জিবিবিহীন অ্যাকাউন্ট রয়েছে, তবে কম্পিউটারের সামগ্রিক ডিস্কের স্থান একই থাকে। ফাইলগুলি মুছে ফেলা হচ্ছে না আমাকে ভাবা হচ্ছে?
কোন সাহায্য প্রশংসা, ধন্যবাদ :)
সম্পাদনা করুন: ফাইলগুলি প্রকৃতপক্ষে চলে গেছে, কেবলমাত্র শেষ ফাইলটি লিখিত থাকতে হবে, ডিস্ক ব্যবহারের তথ্য আপডেট করার জন্য এটি কিছুটা সময় নিয়েছিল .. গল্পটির নৈতিকতা, আপনার স্ক্রিপ্টগুলি মক ফাইলগুলিতে চালানোর আগে!
mv "$file" "$dir/"
একটি পিছনে সহ ব্যবহার করুন /
; তারপর যদি $dir
বিদ্যমান নয়, mv
পুনঃনামকরণ পরিবর্তে ত্রুটি হবে $file
থেকে $dir
। এছাড়াও বিবেচনা করুন mv -i
এবং mv -n
। mkdir -p
ভাল পদক্ষেপের জন্য এবং সরানোর আগে সর্বদা একটি করুন ।
A
,B
এবং কি স্ক্রিপ্ট চালানোর আগে অস্তিত্ব ছিল? না হলে আপনি কেবল ফাইলগুলির নাম পরিবর্তন করেছেন। সমস্ত ফাইল যা নামগুলির সাথে শুরু হয়েছিলa
বা নামA
পরিবর্তন করা হয়েছেA
, তাই কেবলমাত্র সর্বশেষ নাম পরিবর্তন করা ফাইলটি বেঁচে গেছে, অন্যগুলি ওভাররাইট করা হয়েছে। একটি ভেরিয়েবল কলdir
করতে একটি ডিরেক্টরি তৈরি করে না!