EOL: Як перетворити текстовий файл типу DOS на UNIX і навпаки

Виберіть DOS, меню текстового редактора Unix

З цим просто підручник, ми вирішуємо невеликий нещасний випадок, який, безсумнівно, з вами стався. Багато разів нам траплялося так, що під час відкриття файлу .txt у Linux або Windows текст змінюється так, як ми редагували його на початку. Що відбувається, так це те, що рядки приєдналися до нас, а пробіли не з'являються. Це тому, що формат текстового файлу типу UNIX відрізняється від типу DOS за характером кінець рядка (EOL) що вони наймають.

Для систем UNIX символом є "подача рядка / нова лінія" або LF і це відповідає \ n, якщо ви запрограмуєте, це буде звучати для вас. У той час як у Windows система, що використовується у старому DOS, успадковується, тобто "повернення каретки", за якою йде "подача рядка / нова лінія" (\ r \ n). Якщо, наприклад, ми відредагували файл у Linux і відкриваємо його у Windows (а формат, у якому ми його зберегли, не підходить), тоді буде щаслива проблема, коли весь текст буде вставлений без місця або розриви рядків.

У Linux легко перетворити з одного формату на інший нічого не встановлюючи у нашій системі просто використовуйте такі команди:

  • З ДОСУ В УНІКС:

Ми використаємо команду tr, після чого параметр -d та відповідний символ EOL. Ми також будемо використовувати відомі "канали" для роботи з текстовим файлом DOS ("ім'я файлу") і тим, який ми хочемо створити, перетвореним у формат UNIX ("ім'я файлу"). Звичайно, спочатку ми повинні скористатися командою cd, щоб перейти до папки, де знаходиться файл, який потрібно перетворити, або з графічного інтерфейсу передати файл до / Home (за замовчуванням, де знаходиться підказка):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • З UNIX ДВО:

Тепер ми будемо використовувати команду sed для перетворення файлу Unix у тип DOS. Для цього ми будемо використовувати наступний синтаксис, замінюючи ім’я файлів файлом, який потрібно перетворити. Я хочу пояснити, щоразу, коли я пишу файл, я маю на увазі тип Unix і коли я перекладаю файл у тип Windows / DOS.

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

У будь-якому випадку, у сучасних текстових редакторах це вже дає нам можливість "Зберегти як”У форматі, який ми хочемо, не потрібно робити це з терміналу. Але завжди добре знати більше про командний рядок Linux. Інший варіант - використовувати два інструменти, розроблені для цієї мети, dos2unix та unix2dos, але у багатьох дистрибутивах вони не встановлюються за замовчуванням і повинні бути встановлені ...


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   блаббла1233445 - сказав він

    Правильним є твердження
    tr -d 'r' ім'я файлу