Как конвертировать файлы из DOS в Unix - PullRequest
9 голосов
/ 21 февраля 2012

У меня есть несколько файлов, которые я хочу конвертировать из DOS в Unix. Есть ли какой-либо API или метод, который поможет мне сделать это?

Ответы [ 5 ]

22 голосов
/ 21 февраля 2012

Есть инструменты linux, которые могут сделать это (например, dos2unix).

В Java это можно сделать с помощью String.replaceAll().

DOS использует \r\n для завершения строки, в то время как UNIX использует один \n.

String unixText = windowsText.replaceAll("\r\n", "\n"); // DOS2UNIX

Так что нет, API не существует.Да, это очень легко.

2 голосов
/ 19 июля 2013

Просто альтернативный способ (чем описанный выше) с использованием dox2unix. Допустим, все файлы DOS находятся в одной папке

Runtime.getRuntime().exec("dos2unix /path/to/dos/files/*");
1 голос
/ 30 января 2016
String unixText = windowsText.replaceAll("\r\n", "\n"); // DOS2UNI

Приведенная выше строка должна удалить все \ r, но по какой-то причине она также удаляет \ n, поэтому мне пришлось добавить ее обратно при печати unixText в файл: unixText + "\ n"

1 голос
/ 21 февраля 2012

Большинство дистрибутивов unix / linux имеют утилиты с именами unix2dos и dos2unix команды.

EDIT: Просто скопируйте файл на Unix-машину и запустите dos2unix *.

Вы также можете найти эту утилиту для Windows и сделать то же самое.

0 голосов
/ 19 июля 2013

В Linux / Unix есть утилита / команда под названием dos2unix, которая поможет вам конвертировать ваши файлы из dos в формат unix. Для установки просто введите в консоли (вам могут потребоваться права суперпользователя)

yum install dos2unix

Чтобы выполнить преобразование, вы должны использовать команду dos2unix с именем файла. Например

[aniket@localhost ~]$ dos2unix sample.txt 
dos2unix: converting file sample.txt to UNIX format ...

Для всех файлов в каталоге вы можете просто использовать

dos2unix *
...