جستوجو و جایگزینی همزمان عبارات در چندین فایل


اگر نیاز به جایگزینی یک عبارت خاص در دهها یا صدها فایل داشته باشید، چه کار میکنید؟ طبیعی است که نمیخواهید تمام آنها را یکی پس از دیگری باز کرده و در هر کدام به دنبال عبارت مورد نظر بگردید و آن را با کلمهی جدید جایگزین کنید. این کار ساعتها زمان میبرد. در چنین مواقعی میتوان از نرمافزارهای «++Notepad» یا «Replace Text» استفاده کرد. این دو نرمافزار میتوانند در چند ثانیه، عبارات شما را در چندین فایل با عبارت جدید جایگزین کنند.
چنین مشکلی در بین توسعهدهندگان و برنامهنویسان خیلی پیش میآید. فرض کنید که بر روی یک پروژه کار کردهاید که صدها یا هزاران فایل دارد. حال اگر بخواهید نام محصول را تغییر دهید، قطعا نمیتوانید تک تک این فایلها را باز کرده، نام محصول را پیدا کنید و آن را تغییر دهید. این کار اصلا منطقی نیست. به جای چنین رویهای، از طریق همین مطلب وبلاگ فرادرس آیتم موردنظر را پیدا کرده، و طی چند ثانیه کار خود را به پایان برسانید.
چگونه چندین فایل را به صورت دستهای ویرایش کنیم؟
همانطور که در بالا اشاره کردیم، برای این کار میتوانید از «++Notepad» یا ابزار «Replace Text» استفاده کنید. حال به چگونگی انجام این موارد با ابزارهای یاد شده میپردازیم.
++Notepad
برای ویرایش دستهای فایلها توسط «++Notepad»، ابتدا باید عبارت مورد نظر خود را در تمامی فایلهایی که قصد ویرایش آنها را دارید، جستوجو کنید. برای این کار، «++Notepad» را باز کرده و از طریق منوی «Search» گزینهی «...Find in Files» را انتخاب نمایید و یا از کلید ترکیبی «Ctrl + Shift + F» استفاده کنید. یک منو به نام «Find in Files» باز خواهد شد. در زیر قسمت «:Find what» واژه یا عبارتی که میخواهید تغییر دهید را وارد نمایید. در زیر قسمت «:Replace with» نیز واژه یا عبارت جدیدی که میخواهید به جای آن قرار گیرد را بنویسید. در نهایت، در بخش «:Directory» محل ذخیرهی فایلهای مورد نظر را انتخاب کنید تا «++Notepad» بداند در کجا به دنبال آنها بگردد.
همچنین تنظیمات پیشرفتهتری نیز وجود دارند که در پایینتر همین مطلب به آنها اشاره شده است. پس از اینکه تمامی موارد را وارد کردید، گزینهی «Find All» را بزنید تا عبارات پیدا شوند، و یا از «Replace in Files» برای اعمال تغییرات استفاده کنید. مدت زمان انجام این کار، بستگی به تعداد فایلهای انتخابی دارد (معمولا در طی چند ثانیه به اتمام میرسد).
اگر گزینهی «Find All» را زده باشید، یک لیست از موارد پیدا شده به شما نمایش داده میشود. در این لیست میتوانید فایلهایی که نمیخواهید تغییر کنند را انتخاب کرده و با استفاده از کلید «Delete» آنها را از لیست حذف کنید، سپس بر روی فایلهای باقی مانده راست کلیک کرده و گزینهی «Open all» را انتخاب نمایید.
حال از طریق منوی «Search» گزینهی «Replace» را انتخاب کرده یا از کلید ترکیبی «Ctrl + H» استفاده کنید تا منوی «Replace» باز شود. در این بخش گزینهای به نام «Replace All in All Opened Documents» وجود دارد که عبارات نوشته شده را در تمامی فایلهایی که باز کردهاید جایگزین میکند. حال به امکانات پیشرفتهی این نرمافزار میپردازیم.
تنظیمات جستوجو و جایگزینی پیشرفته در ++Notepad
در بخش «Find in Files» قادر هستید تا با استفاده از فیلترهای خاص، فایلهایی که مورد جستوجو قرار میگیرند را محدود کنید. برای مثال با اضافه کردن فیلتر «doc.*» تنها در فایلهایی با پسوند DOC جستوجو انجام خواهد شد. به همین شکل نیز میتوانید در فایلهایی با اسامی خاص و بدون در نظر گرفتن پسوند آنها جستوجو را انجام دهید. با استفاده از عبارت «*.*» جستوجو در تمامی فایلها با هر نام یا پسوندی، انجام خواهد شد.
اگر در قسمت «Directory» پوشهای را انتخاب کردید که دارای پوشههای داخلی بود، میتوانید با انتخاب گزینهی «In all sub-folders» و «In hidden folders» جستوجوی خود را تا پوشههای داخلی و مخفی نیز گسترش دهید. همچنین با فعال کردن گزینهی «Match whole word only»، جستوجو فقط نتایجی را بر میگرداند که دقیقا شامل کلمهی وارد شده باشد و نتایج مشابه را نشان نخواهد داد (مثلا واژهی «درس» در «فرادرس» نیز موجود است که با انتخاب این گزینه، این گونه نتایج حذف خواهند شد و تنها خود واژهی «درس» ملاک جستوجو قرار میگیرد).
در بخش «Search Mode» که در منوهای «Find in Files» و «Replace» در دسترس است، میتوانید از امکانات پیشرفته برای جستوجو و جایگزینی عبارات استفاده کنید. برای مثال با استفاده از گزینهی «Extended» میتوانید از عبارات گسترش دهنده نظیر «n\» برای جایگزینی یک کاراکتر با یک خط جدید استفاده کنید. از گزینهی «Regular expressions» نیز برای استفاده از عبارات منظم استفاده نمایید تا کلمات و عباراتی که دارای ساختار خاصی هستند را پیدا کنید. اگر هم تنها قصد تغییر متن با متنی دیگر را دارید، گزینهی «Normal» برای شما کافی است.
Replace Text
در نرمافزار «Replace Text»، میتوانید بخشی به نام «Replace Group» ایجاد کنید تا امکان جستوجو و جایگزینی عبارات در چندین فایل را داشته باشید. برای شروع، نیاز به ساخت یک گروه جدید دارید. از طریق منوی «Replace» گزینهی «Add Group» را انتخاب کرده و یک نام برای گروه جدید وارد نمایید. حال بر روی گروه خود راست کلیک کرده و گزینهی «(...Add File(s» را انتخاب نمایید تا بتوانید فایلها و پوشههای مورد نظر را به گروه اضافه کنید.
در پنجرهی «Files / Folder Properties»، از بخش «Source Type»، نوع منبع را انتخاب نمایید. منبع شما میتواند یک فایل و یا یک پوشه باشد. سپس در قسمت «Source File / Folder Path» آدرس فایل یا پوشهی منبع را وارد نمایید. اگر قصد انتخاب یک پوشه را داشته باشید، میتوانید فایلهای مد نظر را از قسمت «Include File Filter» انتخاب کرده و یا با استفاده از گزینهی «Exclude File Filter»، فایلهایی که نمیخواهید استفاده شوند را فیلتر نمایید. در نهایت بر روی گزینهی «OK» کلیک کنید. برای اضافه کردن چندین فایل یا پوشه، این مراحل را تکرار نمایید.
یکی از بهترین ویژگیهای «Replace Text» این است که شما امکان انتخاب مسیر خروجی متفاوت از فایل اصلی را دارید. در پنجرهی «File / Folder Properties»، به زبانهی «Destination» رفته و در قسمت «Destination File / Folder Path» مقصد مورد نظر خود را وارد کنید.
حال که گروه خود را آماده کردهاید، زمان آن رسیده است که مشخص کنید قصد جایگزینی چه مواردی را دارید. گروه خود را انتخاب و از منوی «Replace»، گزینهی «Search/Replace Grid» را انتخاب کرده و وارد بخش «... Advanced Edit» شوید. در این بخش میتوانید مقادیر مورد جستوجو را در قسمت «Search Text» و مقادیر جایگزین را در بخش «Replace Text» وارد نمایید. از لیست موجود در پایین صفحه برای شخصیسازی گزینههای جستوجو و جایگزینی استفاده کنید.
همانند «++Notepad»، میتوانید از عبارات منظم و جستوجوی پیشرفته استفاده کنید. ولی قابلیتی که در این نرمافزار هست و در «++Notepad» وجود ندارد، امکان جستوجو و جایگزینی چندین عبارت به طور همزمان است.
در انتها، برای جایگزینی عبارات، از طریق منوی «Replace» گزینهی «Start Replacing» را انتخاب کرده و یا از کلید ترکیبی «Ctrl + R» استفاده نمایید.
آشنایی بیشتر با ++Notepad و Replace Text
حال که با نحوهی جایگزینی دستهای کلمات در چندین فایل توسط این دو نرمافزار آشنا شدیم، بهتر است یک نگاه کلی به خود این دو نرمافزار نیز بیندازیم.
++Notepad چیست؟
«++Notepad» یک نرمافزار رایگان ویرایش کد، و یک جایگزین برای نرمافزار «Notepad» ویندوز است. همچنین این نرمافزار تحت یک لیسانس عمومی عرضه شده که یعنی یک ابزار «متنباز» (Open-source) است. «++Notepad» یک نرمافزار سبک است که در استفاده از منابع نیز صرفهجویی میکند. در بخشی از توضیحات این نرمافزار گفته شده است:
«در ++notepad همواره سعی شده است با بهینهسازی هرچه بیشتر کارهای روزمره، در کنار حفظ رابط دوستانهی آن، تولیدات کربن دیاکسید جهان را کاهش دهیم. زمانی که CPU قدرت کمتری مصرف کند، مصرف رایانه کمتر شده و منجر به محیط زیستی پاکتر میشود.»
در زیر به برخی از ویژگیهای «++Notepad» اشاره کردهایم که آن را تبدیل به ابزاری عالی برای نوشتن و ویرایش متون، به ویژه کدنویسی میکنند:
- خطوط شمارهگذاری شده برای گشت و گذار سادهتر
- رنگبندی و قالببندی خودکار و قابل ویرایش کدها
- پشتیبانی از «عبارات منظم سازگار با پرل» (Perl Compatible Regular Expression یا PCRE) در جستوجو و جایگزینی متون
- تکمیل خودکار کدها، از جمله در کلمات، توابع و کمک در هنگام نوشتن پارامترهای یک تابع
- رابط کاربری زبانهبندی شده که اجازهی کار همزمان و موازی با چندین فایل را میدهد.
- ویرایش چندین خط همزمان با استفاده از کلید CTRL
++Notepad را میتوانید از طریق این لینک دانلود کنید.
Replace Text چیست؟
نرمافزار «Replace Text» بسیار سادهتر از «++Notepad» است و تنها یک کار انجام میدهد و آن جایگزینی متون است. شرکت «Ecobyte» که ساخت این نرمافزار را بر عهده دارد، از تاثیر آن بسیار آگاه است، به همین خاطر توافقنامهی ذکر شده در این نرمافزار کمی عجیب به نظر میرسد، در تصویر زیر این توافقنامه را مشاهده میکنید:
در این توافقنامه از کاربر تعهد گرفته شده است که به جایزالخطا بودن خود اعتراف کرده و از رشد و پیشرفتش به نفع خود و اطرافیان استفاده کند، همچنین نسبت به محیط زیست مسئولیت پذیر بوده و در حد توان به بهبود آن کمک نماید. در نهایت نیز از کاربر تعهد گرفته شده است که با تمامی انسانها با احترام برخورد کرده و به هر روشی که علاقه دارد به آنها کمک کند.
متاسفانه این نرمافزار دیگر پشتیبانی نمیشود و راهنمایی برای استفاده از آن در ویندوز 10 وجود ندارد.
به هر حال یکی از دو ابزار بالا باید کار شما را در جایگزینی متون راه بیندازند. اگر تنها به دنبال جایگزینی یک عبارت هستید یا به نظرتان سایر ویژگیهای «++Notepad» کاربردی هستند، پس حتما از آن استفاده کنید. اگر هم که نیاز به ویرایش و جایگزینی چندین عبارت در چندین فایل دارید، بد نیست به سراغ «Replace Text» بروید.
Replace Text را میتوانید از طریق این لینک دانلود کنید.
امیدواریم که این مطلب برای شما مفید بوده باشد، از آن جایی که نرمافزار «++Notepad» یک ابزار بسیار کاربردی است، توصیه میکنم مطالب زیر را نیز در رابطه با این نرمافزار، مطالعه کنید:
- چرا باید بجای برنامه Notepad ویندوز از ++Notepad استفاده کنیم؟
- بررسی ++Notepad – یک ویرایشگر کد قوی با امکانات زیاد
- ۹ افزونه برتر ++Notepad برای نویسندگان و کدنویسها
- آموزش های ویژه علاقهمندان به کامپیوتر
- آموزشهای مجموعه نرمافزاری آفیس
^^