بسم الله و الحمد لله و الصلاة و السلام على رسول الله و آله و أصحابه و من إتبع هداه
هذا سكريبت لتنظيم ملفات تم تحميلها أو فقط ملفات متفرقة على النظام. يتم نسخها إلى مكان آخر .
الفكرة مثلا مفيدة لتنظيم مجل التحميلات. مع مرور الوقت الملفات تتراكم و يصعب البحث بينها.
#!/bin/bash # coding:utf-8 # About: copy and organize files
# version : 0.1
# discourse.aosus.org
ExtArray=(txt py mp3 sh)
SourceDir="/root/tmp/"
TxtDestDir="/root/folder/txt_dir"
PyDestDir="/root/folder/py_dir"
ShDestDir="/root/folder/sh_dir"
Mp3DestDir="/root/folder/mp3_dir"
[[ ! -e $ShDestDir ]]; mkdir -p "/root/folder/sh_dir"
[[ ! -e $Mp3DestDir ]]; mkdir -p "/root/folder/mp3_dir"
[[ ! -e $TxtDestDir ]]; mkdir -p "/root/folder/txt_dir"
[[ ! -e $PyDestDir ]]; mkdir -p "/root/folder/py_dir"
for Ext in "${ExtArray[@]}"
do
find $SourceDir -iname "*.mp3" -exec cp -u -v {} $Mp3DestDir \;
find $SourceDir -iname "*.py" -exec cp -u -v {} $PyDestDir \;
find $SourceDir -iname "*.sh" -exec cp -u -v {} $ShDestDir \;
find $SourceDir -iname "*.txt" -exec cp -u -v {} $TxtDestDir \;
done
أول ما قمنا به
تحديد متغيرات لتسهيل عمل السكريبت و أيضا أن يكون واضح أثناء القراءة.
- أول متغير ExtArray عبارة عن قائمة صيغ الملفات التي نريد نسخها .
- متغير SourceDir متغير يحمل مسار مصدر الملفات.
- متغير TxtDestDir يحمل المسار الذي نريد أن نضع به الملفات txt.
- متغير PyDestDir يحمل المسار الذي سنضع به لملفات py
- متغير Mp3DestDir يحمل مسار الصوتيات mp3.
- متغير ShDestDir متغير يحمل مسار ملفات السكريبتات عامة . و على الخصوص sh .
- دور هذه المسارات هو تنظيم صيغ الملفات. كل صيغة بمجلد خاص بها.
بعد ذلك قمنا بعمل إمتحان بسيط لتأكد من وجود المسارات التي سننسخ إليها الملفات. كانت غير موجودة سيتم عملها.
بعد ذلك عملية for loop للمرور على جميع عناصر القائمة.
بعد ذلك بدأنا عمليات النسخ. و هي عبارة عن أربع عمليات لأداة find لآيجاد كل صيغة وحدها . ثم نسخ الملفات.
أعتقد الأوامر واضحة.
هذا سكريبت بسيط و سهل للمبتدئين. يعطي فكرة عن الطريقة. يمكن تغير المسارات و الصيغ .ويمكن تطويره . بإضافات مثل zenity .
إلى هنا ينتهي الموضوع.