گاهی ممکن است بخواهید یک متن مشخص را در تعداد زیادی فایل تغییر دهید. مثلا می خواهید کلمه Hello را به Hi تغییر دهید.
جایگزینی متن در یک یا چند فایل مشکل خاصی ایجاد نمی کند ولی فکرش را بکنید اگر قرار باشد در ۱۰۰ یا ۱۰۰۰ فایل این متن پیدا و جایگزین شود مسلماً کاری خسته کننده و طاقت فرسا خواهد بود.
در خط فرمان (کنسول / ترمینال) لینوکس خیلی از کارها را می توان به سرعت و با چند تکه کد انجام داد. مخصوصاً اگر آن کار تکراری باشد، لذت استفاده از خط فرمان صد چندان می شود!!
برای جایگزینی می توانید از دستور sed بصورت زیر استفاده کنید:
sed -i 's/find/replace/g' /path/to/files
بجای find عبارت مورد جستجو را بنویسید.
بجای replace متن جایگزین را بنویسید
و بجای /path/to/files مسیر فایل ها را بنویسید.
روش دیگر:
find /path/to/files -type f | xargs sed -i 's/find/replace/g'
Shortlink for this post: https://blog.talahost.com/?p=124
سلام.وبسایت جامعی دارید.خیلی زحمت میکشید
بابتش و ازین بابت کمال تشکر رو
دارم