Cách kết hợp hoặc hợp nhất nhiều tệp văn bản

Có một số trường hợp bạn có thể cần phải hợp nhất nhiều tệp văn bản(text file) thành một  tệp văn bản(text file) . Ví dụ: bạn có thể nhận được một đĩa CD chứa hàng trăm tệp văn bản(text file) , tất cả đều nằm trong các thư mục khác nhau, mà bạn cần kết hợp thành một tệp để nhập vào Excel , v.v.

Nó cũng hữu ích nếu bạn có tệp nhật ký mạng(network log) , tệp nhật ký máy chủ hoặc nhật ký sao lưu mà bạn muốn kết hợp cho mục đích khai thác dữ liệu hoặc phân tích dữ liệu(mining or data analysis) . Có một số cách khác nhau bạn có thể thực hiện để nối các tệp văn bản lại với nhau và kết quả hơi khác nhau tùy thuộc vào phương pháp bạn chọn.

Trong bài viết này, tôi sẽ viết về một số cách kết hợp các tệp văn bản để nếu một phương pháp không(method doesn) hoạt động quá tốt, bạn có thể thử cách khác.

Phương pháp 1 - Dấu nhắc lệnh

Nếu bạn đồng ý bằng cách sử dụng dấu nhắc lệnh(command prompt) , thì có một số lệnh đơn giản bạn có thể sử dụng để hợp nhất toàn bộ các tệp văn bản một cách nhanh chóng. Ưu điểm của việc sử dụng dấu nhắc lệnh(command prompt) là bạn không phải cài đặt bất kỳ chương trình nào của bên thứ ba. Nếu bạn muốn biết một chút sơ lược về cách sử dụng dấu nhắc lệnh(command prompt) , hãy xem hướng dẫn(s guide) dành cho người mới bắt đầu của tôi để sử dụng dấu nhắc lệnh(command prompt) .

Ngoài ra, vì dòng lệnh(command line) có thể nhận nhiều tham số, bạn thực sự có thể tạo một lệnh khá phức tạp để lọc và sắp xếp(filter and sort) các tệp bạn muốn đưa vào quá trình nối(joining process) . Tôi sẽ giải thích lệnh đơn giản nhất, nhưng cũng sẽ đi sâu vào một vài ví dụ để chỉ cho bạn cách thực hiện những thứ phức tạp hơn.

Đầu tiên, mở Windows Explorer và truy cập thư mục chứa tệp văn bản của bạn. Nếu các tệp được lưu trữ trong nhiều thư mục con, hãy điều hướng đến thư mục mẹ(parent directory) . Bây giờ nhấn và giữ CTRL + SHIFT , sau đó nhấp chuột phải vào bất kỳ vị trí trống nào trong cửa sổ Explorer(Explorer window) .

mở cửa sổ lệnh ở đây

Thao tác này sẽ mở ra một cửa sổ lệnh(command window) đã được đặt thành thư mục bạn đang ở. Bây giờ tất cả những gì chúng ta phải làm là nhập lệnh. Như bạn có thể thấy ở trên, tôi có ba tài liệu văn bản trong thư mục cùng với một vài thư mục. Nếu tôi chỉ muốn kết hợp các tệp văn bản trong một thư mục này, tôi sẽ đưa ra lệnh sau:

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

Theo cách nói của mã hóa, đây là một vòng lặp FOR đơn giản lặp qua tất cả các tệp kết thúc bằng .TXT và xuất chúng ra một tệp có tên là output.txt .

kết hợp txt cmd

Như bạn có thể thấy ở trên, vòng lặp chỉ chạy một lệnh riêng biệt cho từng tệp văn bản(text file) mà nó tìm thấy trong thư mục. Lưu ý rằng nếu bạn có tệp văn bản(text file) nhưng nó có phần mở rộng khác như .log hoặc .dat(.log or .dat) , v.v., thì bạn chỉ cần thay đổi giá trị * .txt trong lệnh. Cũng cần lưu ý rằng đầu ra phải ở một vị trí khác với thư mục hiện tại, nếu không nó sẽ nối tệp đầu ra(output file) vào chính nó vì nó cũng là một tệp văn bản(text file) .

Bây giờ, giả sử bạn có các tệp văn bản không chỉ nằm trong một thư mục mà còn nằm trong nhiều thư mục con. Trong trường hợp này, chúng ta có thể thêm một tham số vào lệnh, lệnh này sẽ yêu cầu nó tìm kiếm đệ quy các tệp văn bản trong bất kỳ thư mục con nào của thư mục hiện tại.

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

Bạn sẽ nhận thấy tham số /R ngay sau câu lệnh for. Bây giờ khi tôi chạy lệnh, bạn sẽ thấy rằng nó tìm thấy một vài tệp văn bản bổ sung trong ba thư mục nằm trong cùng một thư mục.

hợp nhất các tệp văn bản

Như thường lệ với dấu nhắc lệnh(command prompt) , thực tế có một lệnh khác cho phép bạn thực hiện điều tương tự như câu lệnh FOR  ở trên. Lệnh này thực sự đơn giản hơn rất nhiều(lot simpler) và nếu nó phù hợp với bạn, thì hãy sử dụng nó thay vì phương pháp trên.

copy *.txt output.txt

sao chép các tệp văn bản hợp nhất

Lệnh này hoạt động tốt, nhưng không có nhiều tùy chọn như lệnh trước. Ví dụ: nó sẽ không cho phép bạn tìm kiếm đệ quy qua các thư mục con.

Phương pháp 2 - TXTCollector

TXTCollector là một công cụ hợp nhất tệp văn bản miễn phí với một bộ tính năng phù hợp. Nó rất dễ sử dụng và có thể được cấu hình để hoạt động theo một số cách khác nhau.

kết hợp các tệp văn bản

Đầu tiên, nhập hoặc sao chép(type or copy) và dán đường dẫn thư mục(folder path) vào hộp Thư mục(Folder) ở trên cùng hoặc chỉ cần nhấp vào nút Duyệt thư mục(Browse Folders)  và chọn thư mục có tệp văn bản. Sau đó, bạn có thể chọn loại tệp bạn muốn kết hợp.

Theo mặc định, TXTCollector sẽ tìm kiếm tất cả các tệp TXT và kết hợp chúng. Tuy nhiên, bạn có thể chọn từ danh sách và kết hợp(list and combine) hoặc hợp nhất nhiều tệp CSV(CSV) , BAT , HTM , LOG , REG , XMLINI thành một!

Chọn hộp Bao gồm các thư mục con(Include subfolders) nếu bạn muốn TXTCollector xem xét một cách đệ quy từng thư mục con của thư mục chính. TXTCollector sẽ cho bạn biết chính xác có bao nhiêu tệp mà nó tìm thấy trong thư mục.

hợp nhất các tệp txt

Tiếp theo, bạn có thể chọn một dấu phân tách sẽ xuất hiện giữa mỗi tệp đang được kết hợp. Đây là một tính năng thú vị mà bạn không nhận được(t get) với phương thức dòng lệnh(command line method) . Bạn có thể chọn từ trình đơn thả xuống hoặc bạn có thể chỉ cần nhập bất cứ thứ gì bạn muốn vào hộp.

Theo mặc định, chương trình sẽ đặt tên thư(directory name) mục , tên tệp(file name) và dấu phân cách giữa mỗi tệp. Nếu bạn muốn kết hợp các tệp liên tục mà không có bất kỳ khoảng ngắt nào giữa mỗi tệp, hãy chọn Không có dấu phân cách(No Separator) , Không có tên tệp( No Filename)Không có trả lại vận chuyển(No Carriage Returns) .

kết hợp nhiều tệp txt

Sau đó, bạn sẽ có lựa chọn thêm ký tự(space character) khoảng trắng giữa các tệp hoặc không. Điều thú vị về TXTCollector là bạn thực sự có thể tùy chỉnh nó. Nếu bạn nhấp vào liên kết ở dưới cùng được gọi là Phần mở rộng và Dấu phân cách(Extensions and Separators) , bạn có thể thêm các phần mở rộng của riêng mình vào TXTcollector .

Chỉnh sửa tệp extension.txt(extensions.txt) nằm trong thư mục dữ liệu ứng dụng TXTCollector(TXTCollector application) . Lưu ý rằng TXTcollector chỉ xử lý các tệp văn bản thuần túy(plain text) , bất kể phần mở rộng nào được sử dụng. Do đó, nó không thể kết hợp nhiều tệp XLS(XLS) , chẳng hạn, trừ khi chúng được lưu dưới dạng văn bản thuần túy(plain text) .

Hạn chế duy nhất của chương trình là nó chỉ có thể kết hợp 32.765 tệp văn bản cùng một lúc. Nếu bạn có nhiều hơn thế, bạn có thể kết hợp nhiều cái đó thành một và sau đó kết hợp cái lớn với nhiều cái nhỏ hơn, lên đến 32,765!

Nhìn chung, một ứng dụng phần mềm miễn phí(freeware app) rất đơn giản nhưng mạnh mẽ để kết hợp nhiều tệp văn bản. Hy vọng rằng(Hopefully) hai phương pháp này sẽ hiệu quả với hầu hết mọi người. Nếu bạn gặp phải tình huống phức tạp hơn, vui lòng đăng nhận xét và tôi sẽ cố gắng trợ giúp.

Ngoài ra, hãy nhớ xem bài đăng khác của tôi về cách kết hợp nhiều bản trình bày PowerPoint . Vui thích!



About the author

Tôi là một chuyên gia máy tính với hơn 10 năm kinh nghiệm. Khi rảnh rỗi, tôi thích giúp việc tại bàn văn phòng và dạy bọn trẻ cách sử dụng Internet. Kỹ năng của tôi bao gồm nhiều thứ, nhưng điều quan trọng nhất là tôi biết cách giúp mọi người giải quyết vấn đề. Nếu bạn cần ai đó có thể giúp bạn trong việc khẩn cấp hoặc chỉ muốn một số mẹo cơ bản, vui lòng liên hệ với tôi!



Related posts