EOL: Cách chuyển đổi tệp văn bản kiểu DOS thành UNIX và ngược lại

Chọn DOS, menu trình soạn thảo văn bản Unix

Với điều này đơn giản hướng dẫn, chúng tôi giải quyết một lỗi nhỏ mà chắc chắn sẽ xảy ra với bạn. Nhiều lần chúng ta sẽ thấy rằng khi mở tệp .txt trong Linux hoặc Windows, văn bản sẽ bị sửa đổi so với cách chúng ta đã chỉnh sửa nó lúc đầu. Điều gì xảy ra là các dòng đã nối với chúng ta và các khoảng trắng không xuất hiện. Điều này là do định dạng tệp văn bản kiểu UNIX khác với kiểu DOS về ký tự của cuối dòng (EOL) mà họ sử dụng.

Đối với hệ thống UNIX, ký tự là "nguồn cấp dòng / dòng mới" hoặc LF và điều đó tương ứng với \ n, nếu bạn lập trình, nó sẽ phát ra âm thanh cho bạn. Trong khi trong Windows, hệ thống được sử dụng trong DOS cũ được kế thừa, nghĩa là "ký tự xuống dòng" theo sau là "nguồn cấp dòng / dòng mới" (\ r \ n). Ví dụ: nếu chúng tôi đã chỉnh sửa tệp trong Linux và chúng tôi đang mở tệp bằng Windows (và định dạng mà chúng tôi đã lưu tệp đó không phù hợp), thì sẽ có một vấn đề đáng mừng là tất cả văn bản được dán mà không có khoảng trống hoặc ngắt dòng.

Trong Linux, có thể dễ dàng chuyển đổi từ định dạng này sang định dạng khác mà không cần cài đặt bất cứ thứ gì trên hệ thống của chúng tôi, chỉ cần sử dụng các lệnh sau:

  • TỪ DOS ĐẾN UNIX:

Chúng tôi sẽ sử dụng lệnh tr, theo sau là tham số -d và ký tự EOL thích hợp. Chúng tôi cũng sẽ sử dụng các "đường ống" nổi tiếng để vận hành với tệp văn bản DOS ("tên tệp") và tệp chúng tôi muốn tạo được chuyển đổi thành định dạng UNIX ("tên tệp"). Tất nhiên, trước tiên chúng ta phải sử dụng lệnh cd để chuyển đến thư mục chứa tệp cần chuyển đổi hoặc từ giao diện đồ họa, chuyển tệp đến / Home (theo mặc định là nơi có dấu nhắc):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • TỪ UNIX ĐẾN HAI:

Bây giờ chúng ta sẽ sử dụng lệnh khát để chuyển đổi một tệp Unix thành một loại DOS. Đối với điều này, chúng tôi sẽ sử dụng cú pháp sau, thay thế tên của tệp cho tệp được chuyển đổi. Tôi muốn làm rõ, bất cứ khi nào tôi ghi tệp, tôi có nghĩa là loại Unix và khi tôi đặt tệp sang loại Windows / DOS.

sed 's/$/\r/' nombre_fichero > nombre_archivo</p>

Dù sao, trong các trình soạn thảo văn bản hiện đại, nó đã cung cấp cho chúng tôi tùy chọn "Bảo vệ hôn mê”Ở định dạng chúng tôi muốn mà không cần phải thực hiện từ thiết bị đầu cuối. Nhưng luôn tốt nếu biết thêm về dòng lệnh Linux. Một tùy chọn khác là sử dụng hai công cụ được thiết kế cho mục đích này, dos2unix và unix2dos, nhưng trong nhiều bản phân phối, chúng không được cài đặt theo mặc định và nên được cài đặt ...


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   blablah1233445 dijo

    Câu lệnh đúng là
    tên tệp tr -d 'r'