نحوه ترکیب یا ادغام چندین فایل متنی

موارد متعددی وجود دارد که ممکن است لازم باشد چندین فایل متنی را(text file) در یک  فایل(text file) متنی ادغام کنید . به عنوان مثال، ممکن است یک سی دی دریافت کنید که حاوی صدها فایل متنی است(text file) ، همه در دایرکتوری های مختلف، که باید آنها را در یک فایل برای وارد کردن به اکسل(Excel) و غیره ترکیب کنید.

همچنین اگر فایل‌های گزارش شبکه(network log) ، فایل‌های گزارش سرور یا گزارش‌های پشتیبان دارید که می‌خواهید برای اهداف داده کاوی یا تجزیه و تحلیل داده(mining or data analysis) ترکیب کنید، مفید است . چند راه مختلف وجود دارد که می توانید برای پیوستن فایل های متنی به یکدیگر استفاده کنید و نتایج بسته به روشی که انتخاب می کنید کمی متفاوت است.

در این مقاله، من در مورد چندین روش برای ترکیب فایل های متنی می نویسم تا اگر یکی از روش(method doesn) ها خیلی خوب کار نکرد، بتوانید روش دیگری را امتحان کنید.

روش 1 - خط فرمان

اگر با استفاده از خط فرمان(command prompt) مشکلی ندارید ، چند دستور ساده وجود دارد که می توانید از آنها برای ادغام سریع دسته ای از فایل های متنی استفاده کنید. مزیت استفاده از خط فرمان(command prompt) این است که نیازی به نصب برنامه های شخص ثالث ندارید. اگر می خواهید یک آغازگر کوچک در مورد استفاده از خط فرمان داشته باشید، (command prompt)راهنمای(s guide) مبتدی من را برای استفاده از خط فرمان(command prompt) بررسی کنید .

همچنین، از آنجایی که خط فرمان(command line) می‌تواند چندین پارامتر داشته باشد، واقعاً می‌توانید یک فرمان کاملاً پیچیده برای فیلتر کردن و مرتب‌سازی(filter and sort) فایل‌هایی که می‌خواهید در فرآیند اتصال(joining process) اضافه کنید ایجاد کنید. من ساده‌ترین دستور را توضیح می‌دهم، اما در چند مثال به شما نشان می‌دهم که چگونه کارهای پیچیده‌تر را انجام دهید.

ابتدا ویندوز اکسپلورر(Windows Explorer) را باز کنید و به دایرکتوری که فایل های متنی در آن قرار دارند بروید. اگر فایل‌ها در بسیاری از زیرپوشه‌ها ذخیره می‌شوند، به دایرکتوری والد(parent directory) بروید . حالا CTRL + SHIFT را فشار داده و نگه دارید و سپس روی هر نقطه خالی در پنجره Explorer(Explorer window) راست کلیک کنید .

پنجره فرمان را در اینجا باز کنید

با این کار یک پنجره دستوری(command window) باز می شود که قبلاً روی دایرکتوری که در آن بودید تنظیم شده است. اکنون تنها کاری که باید انجام دهیم این است که دستور را تایپ کنیم. همانطور که در بالا می بینید، من سه سند متنی در پوشه به همراه چند پوشه دارم. اگر فقط بخواهم فایل های متنی را در این یک پوشه ترکیب کنم، این دستور را صادر می کنم:

for %f in (*.txt) do type “%f” >> c:\Test\output.txt

در اصطلاح کدنویسی، این یک حلقه FOR ساده است که در تمام فایل‌هایی که با (FOR)TXT ختم می‌شوند(.TXT) حلقه می‌زند و آنها را به فایلی به نام output.txt خروجی می‌دهد(output.txt) .

txt cmd را ترکیب کنید

همانطور که در بالا می بینید، حلقه فقط برای هر فایل متنی(text file) که در فهرست پیدا می کند یک دستور جداگانه اجرا می کند. توجه داشته باشید که اگر یک فایل متنی(text file) دارید ، اما پسوند دیگری مانند .log یا .dat(.log or .dat) و غیره دارد، می‌توانید به سادگی مقدار *.txt را در دستور تغییر دهید. همچنین شایان ذکر است که خروجی باید در مکانی متفاوت از دایرکتوری فعلی باشد، در غیر این صورت فایل خروجی را(output file) به خود ضمیمه می کند، زیرا آن نیز یک فایل متنی است(text file) .

حال فرض کنید فایل های متنی دارید که نه تنها در یک پوشه، بلکه در بسیاری از زیرپوشه ها قرار دارند. در این حالت، می‌توانیم پارامتری را به دستور اضافه کنیم که به آن می‌گوید به صورت بازگشتی فایل‌های متنی را در هر زیرپوشه دایرکتوری فعلی جستجو کند.

for /R %f in (*.txt) do type “%f” >> c:\Test\output.txt

دقیقاً بعد از دستور for متوجه پارامتر /Rحالا وقتی دستور را اجرا می‌کنم، می‌بینید که چند فایل متنی اضافی را در سه فهرستی که در یک فهرست هستند پیدا می‌کند.

ادغام فایل های متنی

همانطور که در خط فرمان(command prompt) معمول است ، در واقع دستور دیگری وجود دارد که به شما اجازه می دهد همان کاری را که عبارت FOR  بالا انجام دادید. دستور در واقع بسیار ساده تر است(lot simpler) و اگر برای شما خوب کار می کند، به جای روش بالا از آن استفاده کنید.

copy *.txt output.txt

کپی فایل های متنی ادغام شده

این دستور به خوبی کار می کند، اما به اندازه دستور قبلی گزینه های زیادی ندارد. به عنوان مثال، به شما اجازه نمی دهد که به صورت بازگشتی در زیر پوشه ها جستجو کنید.

روش 2 - TXTCCollector

TXTCollector یک ابزار ادغام فایل متنی رایگان با مجموعه ای از ویژگی های مناسب است. استفاده از آن بسیار آسان است و می توان آن را برای کار به چند روش مختلف پیکربندی کرد.

ترکیب فایل های متنی

ابتدا مسیر پوشه را (folder path)تایپ یا کپی(type or copy) کرده و در کادر Folder در بالا قرار دهید یا به سادگی بر روی دکمه Browse Folders  کلیک کنید و پوشه حاوی فایل های متنی را انتخاب کنید. سپس می توانید نوع فایل هایی را که می خواهید ترکیب کنید انتخاب کنید.

به‌طور پیش‌فرض، TXTCCollector(TXTCollector) همه فایل‌های TXT را جستجو کرده و آنها را ترکیب می‌کند. با این حال، می توانید از لیست انتخاب کنید و چندین فایل CSV ، BAT ، HTM ، LOG ، REG ، XML ، و INI را در یک فایل (INI)ترکیب(list and combine) یا ادغام کنید!

اگر می خواهید TXTCCollector(TXTCollector) به صورت بازگشتی به هر زیر پوشه پوشه اصلی نگاه کند، کادر Include subfolders را علامت بزنید . TXTCollector به شما نشان می دهد که دقیقا چند فایل در دایرکتوری پیدا کرده است.

فایل های txt را ادغام کنید

سپس می‌توانید جداکننده‌ای را انتخاب کنید که بین هر فایلی که ترکیب می‌شود ظاهر شود. این یک ویژگی خوب است که با روش خط فرمان نمی (command line method)توانید آن را دریافت کنید(t get) . یا می توانید از منوی کشویی انتخاب کنید یا فقط می توانید هر چیزی را که می خواهید در کادر تایپ کنید.

به طور پیش فرض، برنامه نام دایرکتوری(directory name) ، نام فایل(file name) و جداکننده را بین هر فایل قرار می دهد. اگر می‌خواهید فایل‌ها را به‌طور مداوم و بدون وقفه بین هر فایل ترکیب کنید، No Separator ، No Filename و No Carriage Returns را علامت بزنید.

ترکیب چند فایل txt

سپس می توانید انتخاب کنید که یک کاراکتر(space character) فاصله بین فایل ها اضافه کنید یا خیر. نکته جالب در مورد TXTCCollector(TXTCollector) این است که می توانید واقعاً آن را سفارشی کنید. اگر روی پیوند پایین به نام Extensions and Separators کلیک کنید، می توانید پسوندهای خود را به TXTcollector اضافه کنید .

فایل extensions.txt واقع در فهرست داده های برنامه TXTCCollector(TXTCollector application) را ویرایش کنید . توجه داشته باشید که TXTcollector فقط فایل های متنی ساده(plain text) را مدیریت می کند، مهم نیست از چه پسوندی استفاده می شود. بنابراین، برای مثال، نمی‌تواند چندین فایل XLS را ترکیب کند، مگر اینکه به صورت متن ساده(plain text) ذخیره شوند .

تنها محدودیت این برنامه این است که فقط می تواند 32765 فایل متنی را به طور همزمان ترکیب کند. اگر بیشتر از آن دارید، می‌توانید آن تعداد را در یک ترکیب کنید و سپس بزرگ را با تعداد بیشتری کوچکتر، تا 32765 ترکیب کنید!

به طور کلی، یک برنامه رایگان(freeware app) بسیار ساده و در عین حال قدرتمند برای ترکیب چندین فایل متنی. امیدواریم(Hopefully) که این دو روش برای اکثر افراد کارساز باشد. اگر با شرایط پیچیده‌تری برخورد کردید، نظر خود را ارسال کنید و من سعی خواهم کرد کمک کنم.

همچنین، حتما پست دیگر من را در مورد نحوه ترکیب چندین ارائه پاورپوینت(PowerPoint) بررسی کنید. لذت بردن!



About the author

من یک مهندس نرم افزار هستم که هم در کروم و هم در برنامه های بازی تجربه دارم. من در 4 سال گذشته روی راه حل های مرورگر گوگل کروم کار کرده ام و همچنین روی بازی های چندین پلتفرم مختلف کار کرده ام. مهارت های من در طراحی، آزمایش و مدیریت پروژه های نرم افزاری نهفته است. من علاوه بر کارم به عنوان مهندس نرم افزار، در زمینه حفظ حریم خصوصی، حساب های کاربری و مسائل ایمنی خانواده نیز تجربه دارم.



Related posts