• 0

كيف أقوم بتعديل أسماء مجموعة من الملفات باستخدام قائمة ؟

لدي مجموعة من الملفات ذات أسماء كالتالي:
 

filename15_1
filename15_2
filename15_3
filename15_4

ولدي ملف CSV يحتوى على أسماء الملفات القديمة والأسماء الجديدة:
 

filename15_1,filename30_6
filename15_2,filename30_7
filename15_3,filename60_3
filename15_4,filename60_4
filename15_5,filename60_5
filename15_6,filename60_6

أريد تغيير أسماء الملفات القديمة بأسماء الجديدة، فكيف أستطيع فعل ذلك في سطر الأوامر (نظام لينكس دبيان) ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يمكنك فعل ذلك بسهولة وبسطر واحد في نظام لينكس، سوف نستخدم نظام دالة awk:

awk -F',' 'system("mv " $1 " " $2)' mappingFile.csv

وهذا الأمر سوف يعمل على جميع السطور في ملف mappingFile.csv

شرح السطر:

awk هي أداة مفيدة للغاية في نظام يونكس للتعامل مع البيانات الجدولية.

-F',' وهو فاصل الحقول، أي أن الفاصلة ',' هي التي تفصل بين الأسماء القديمة والأسماء الجديدة.

system("mv " $1 " " $2) هذا الأمر يعمل على كل سطر من السطور ومعناه قم بتغيير اسم الملف القديم إلى اسم الجديد، وتمت الإشارة إلى الأسماء بمتغيرات 1$ للاسم القديم و 2$ للاسم الجديد.

mappingFile.csv هذا هو ملف قائمة الأسماء.

 

المصدر

تمّ تعديل بواسطة هشام رزق الله

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن