سؤال

أحاول تغيير خطوط معينة في ملفات متعددة (مبعثرة في المجلدات الفرعية) دون الحاجة إلى تحرير كل ملف واحدا تلو الآخر. لقد قدمت من قبل تشاس. ما يلي

perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' *

وقد عملت مثل سحر ولكن كان يتساءل عما إذا كان الأمر هذا الأمر أو ما شابه ذلك يمكن إجراؤه في طلقة واحدة

هل كانت مفيدة؟

المحلول

find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'

سيؤدي ذلك إلى تطبيقه على جميع الملفات في الدليل الحالي وجميع الدلائل الفرعية. لن يتبع التبرعات. قد ترغب في تضييق نطاق اكتشاف التوجيه الإلكتروني أيضا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top