Nếu bạn đã từng chuyển một tệp văn bản từ hệ thống UNIX sang hệ thống Windows trực tiếp, bạn biết rằng khi bạn mở tệp văn bản trên hệ thống Windows, nó thường không được hiển thị chính xác. Các chương trình đọc văn bản dựa trên Windows (như Notepad) có thể không hiển thị được văn bản. Trong hầu hết các trường hợp, khi bạn mở tệp văn bản, tất cả các từ được hiển thị trên một dòng khổng lồ, không có bất kỳ ngắt nào. Điều này là do có một sự khác biệt nhỏ trong cách một tài liệu văn bản được viết (và đọc) trên Windows và UNIX.

Nếu một tệp được viết trên một hệ thống dựa trên Windows và được mở bởi một trình soạn thảo văn bản trên một hệ thống UNIX, nó là rất phổ biến cho các ký tự "Ctrl-M" (^ M) được hiển thị ở cuối mỗi dòng văn bản. Nếu một tệp được viết trên hệ thống UNIX và được mở bằng trình soạn thảo văn bản trên hệ thống Windows, ký tự ngắt dòng (EOL) có thể không được hiển thị chính xác. Các ký tự trả về vận chuyển cũng khác nhau cho cả UNIX và Windows.

Trong khi giao dịch với các tệp, bạn không muốn bị giới hạn bởi liệu tệp đã được tạo trên Linux hoặc Windows hay chưa. Vậy làm thế nào để bạn chuyển đổi một tập tin từ UNIX sang Windows (hoặc ngược lại) mà không có định dạng phát điên? Chúng tôi sẽ hướng dẫn bạn qua các bước.

Chuyển đổi tập tin từ định dạng Linux / UNIX sang định dạng Windows

Nếu bạn đang sử dụng hệ thống dựa trên UNIX để chuyển tệp sang hệ thống Windows, có một số lệnh cho phép bạn chuyển đổi (các) tệp văn bản bạn đang chuyển sang định dạng mà Windows có thể hiểu.

Lệnh dos2unix và unix2dos

Bạn có thể sử dụng dòng lệnh để chuyển đổi an toàn các tệp từ UNIX sang Windows và ngược lại. Để chuyển đổi tệp văn bản Windows thành tệp văn bản UNIX, hãy nhập:

 dos2unix windows.txt unix.txt 

Lệnh trên chuyển đổi và thay thế tệp “windows.txt” thành “unix.txt”. Để chuyển đổi tệp văn bản UNIX thành tệp văn bản Windows, hãy nhập lệnh sau:

 unix2dos unix.txt windows.txt 

Lệnh trên sẽ chuyển đổi một tập tin văn bản được tạo ra UNIX gọi là "unix.txt" thành một tệp văn bản tương thích với Windows được gọi là "windows.txt".

Lệnh awk

Lệnh awk cũng cho phép bạn chuyển đổi một tập tin từ UNIX sang Windows và ngược lại. Để chuyển đổi tệp Windows thành tệp UNIX, hãy nhập lệnh sau:

 awk '{sub ("\ r $", ""); print} 'windows.txt> unix.txt 

Để chuyển đổi một tệp văn bản UNIX có tên là "unix.txt" thành tệp văn bản Windows được gọi là "windows.txt", hãy nhập lệnh sau:

 awk 'sub ("$", "\ r")' uniz.txt> windows.txt 

Lệnh tr

Lệnh tr (phiên âm) có thể được sử dụng để loại bỏ các ký tự trả về vận chuyển và các ký tự “Ctrl-Z” từ một tệp Windows. Điều này chỉ có thể được thực hiện nếu bạn đang chuyển đổi một tập tin từ Windows sang UNIX. Lệnh sẽ được viết như sau:

 tr -d '\ 15 \ 32' <winfile.txt> unixfile.txt 

Lệnh tr chuyển ngữ một ký tự với một ký tự khác. Trong trường hợp này, nó giúp bạn bỏ qua các ký tự không cần thiết.

Sử dụng Trình chỉnh sửa trực quan (Vi)

Nếu bạn đang sử dụng Trình chỉnh sửa trực quan để xem tệp được tạo trên hệ thống Windows, bạn có thể xóa các ký tự trả về bằng cách gõ dòng lệnh sau:

 : 1, $ s / ^ M // g 

Để máy tính nhập ký tự ^ M, bạn cần nhấn “Ctrl + v” và sau đó nhấn Return.

Sử dụng Chương trình Giao thức Truyền tệp

Các chương trình Giao thức truyền tệp (FTP) có sẵn cho cả hệ thống UNIX và Windows. Nếu bạn cần chuyển đổi nhiều tệp từ Windows sang UNIX (hoặc cách khác), thì bạn nên tải xuống một chương trình FTP. Có rất nhiều có sẵn miễn phí trên Internet. Các Hummingbird FTP là một trong những chương trình FTP phổ biến hơn ra khỏi đó. Nó an toàn và dễ sử dụng.

Hầu hết các chương trình FTP sẽ chuyển các tập tin từ UNIX sang Windows theo định dạng ASCII. Đôi khi bạn phải chỉ định định dạng cho chính mình (nếu bạn đang sử dụng các chương trình FTP dựa trên dòng lệnh). Để thực hiện điều đó, chỉ cần nhập điều này vào dòng lệnh:

 ascii 

Phần kết luận

Cách dễ nhất để chuyển đổi tệp từ định dạng UNIX sang Windows (và cách khác) là sử dụng chương trình FTP. Các lệnh chuyển đổi là lần đặt cược tốt nhất tiếp theo của bạn. Nếu bạn đang tìm kiếm các lệnh bổ sung thực hiện cùng một nhiệm vụ, bạn có thể tìm kiếm lệnh perlsed . Tuy nhiên, hãy nhớ rằng các lệnh này có thể không hoạt động trên tất cả các hệ thống.