في العديد من المناسبات ، ستصادف أسماء ملفات وأدلة بها مسافات متداخلة في أسمائها ، خاصة تلك التي تأتي من Windows. غالبًا ما تكون هذه المسافات مزعجة ، خاصةً عند العمل من الصدفة ، لأنك تحتاج إلى تحديدها حتى لا يتم التعامل معها على أنها أسماء أو خيارات أوامر منفصلة. لذلك ، في هذا البرنامج التعليمي سنرى بعض الطرق إزالة المسافات تلقائيا.
بالإضافة إلى ذلك ، سنرى أيضًا كيف يمكن استخدامها ملفات أو أدلة بأسماء بها مسافات دون أن نخطرك.
كيفية استخدام الملفات والدلائل التي تحتوي على مسافات
لمحاولة مساحات الهروب من أسماء الملفات والأدلة في محطة Linux ، يمكنك القيام بذلك بالطرق التالية:
- تضمين "" (علامات الاقتباس المزدوجة) في جزء من المسار حيث توجد مسافات أو في كل ذلك. علي سبيل المثال:
cd "nombre con espacio"/
- استخدام حرف \ قبل كل مسافة. علي سبيل المثال:
nano nombre\ con\ espacio.txt
بهذه الطرق ، ستفعل تجاوز هذه المساحات المزعجة. الآن ، حتى لا تضطر إلى استخدام هذه الخيارات مرة أخرى ، والتي قد تكون أكثر إزعاجًا ، يمكنك اتباع هذه الخطوات ...
كيفية إزالة المسافات من الأسماء
الآن ، يمكنك استخدام طرق مختلفة لجعل مساحات الأسماء هذه تتوقف عن كونها مشكلة إلى الأبد. إذا كان لديك عدد كبير من الأسماء مع مسافات ، فليس من المنطقي أن تقوم بها واحدة تلو الأخرى ، ولكن يمكنك أتمتة هذه المهام من أجل إزالة أو استبدال المسافات:
- استخدم أمر إعادة التسمية لذلك. على سبيل المثال ، يزيل أول هذين الأمرين المسافات من جميع ملفات .txt ، بينما يزيل الثاني المسافات من جميع الملفات داخل الدليل الحالي:
إعادة تسمية 's / \ s / _ / g' ./*.txt
إعادة تسمية 's / \ s / _ / g' ./*.*
- استخدم "بحث" لاستبدال جميع الأسماء التي تحتوي على مسافات ، واستبدالها بـ _. على سبيل المثال ، افعل ذلك مع كل ملفات .txt للدليل الحالي أو FS بأكمله:
find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \; **find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;