Я недавно вернулся в Windows из Linux. У меня есть некоторые файлы с CRLF, некоторые с LF, а некоторые смешанные. Есть ли утилита, которая поможет мне найти все мои файлы, затронутые Unix, и преобразовать их в правильные файлы с расширением CRLF?
Утилита должна работать на Windows, а не на Linux. Я уже переехал. Я бы предпочел не устанавливать Cygwin, если смогу избежать этого.
linux
windows
text-editing
newlines
file-conversion
Мэтью Скотен
источник
источник
Ответы:
Вы можете конвертировать их с помощью
unix2dos
утилиты на вашей платформе Linux. Также доступныunix2dos
версии для Windows .Если у вас установлен Perl, вы также можете использовать этот вкладыш:
источник
Вот простой и быстрый способ.
Перетащите текстовый файл в Chrome (я не знаю о других браузерах), а затем вырезайте и вставляйте обратно в исходный файл :)
источник
Тот, который я нашел лучше всего для рекурсивного обхода папок, разрешения файловых фильтров и простого поиска "\ r \ n" и замены его просто "\ n", был Notepad ++ .
Notepad ++ - одна из лучших бесплатных программ с открытым исходным кодом для Windows. Это очень просто и мощно. Он отлично справился с поиском / заменой окончания строки. Подрядчик проверяет кучу файлов .c и .h в нашем репозитории с окончаниями строк Linux \ r \ n, но, поскольку большинство людей стандартизировали средства сборки Windows / Eclipse, файлы не будут собираться до тех пор, пока не будут преобразованы окончания строк ,
источник
Edit -> EOL Conversion
меню, если количество конвертируемых файлов невелико.Используйте швейцарский нож .
Например:
sfk addcr -dir . -file .txt -norec
изменяет окончания LF на CR / LF для Windows во всех файлах .txt текущего каталога, но НЕ в подкаталогах (без рекурсии).
Но эта программа делает гораздо больше, чем просто это.
источник
-norec
потому что я хочу, чтобы рекурсия произошла, но это не похоже на этоНа Cygwin вы можете конвертировать файлы Unix и DOS AKA Windows, используя две встроенные утилиты:
Преобразовать в формат DOS CR / LF:
Конвертировать обратно в формат Unix CR:
Файл остается на месте с тем же именем.
Наслаждайтесь! стог
источник
dos2unix
илиunix2dos
в случае, если вы не можете найти его как u2d или d2u. Также естьunix2mac
Я собираюсь выбросить это решение там. Git сделает это. Смотрите этот пост об этом
Так что теоретически вы можете сделать это, чтобы преобразовать все дерево
Изменение
crlf
к ,lf
если вы хотите пойти в другую сторону. ПРИМЕЧАНИЕ: вы еще не закончили, продолжайте читатьВведите,
git status
чтобы увидеть, какие файлы будут затронуты. Возможно, вам придется добавить такие строки, каки т.д., чтобы
.gitattributes
избежать конвертации определенных файлов. Вы также можете явно пометить определенные файлы как текстЗатем просто повторите эти 2 строки после того, как вы отредактировали
.gitattributes
Затем используйте
git status
снова, чтобы увидеть, какие файлы будут изменены. Когда вы будете уверены , что все файлы , которые вы хотите пострадавших перечисленыgit status
затем совершитьТеперь проверьте все файлы еще раз
Теперь они должны иметь желаемое окончание строки
** ПРИМЕЧАНИЕ. Если вы уже использовали git, пропустите первые 3 команды git. Если вы не использовали git, теперь вы можете удалить
.gitattributes
файл и.git
папку.** Создайте резервные копии ваших файлов:
git rm --cached -r
все они удаляются (хотя теоретически они находятся в вашем git-репо (папке .git), так как они восстанавливаются последней командойgit reset --hard
. Просто, поскольку файлы удаляются, вероятно, лучше всего их поддержать вверх.источник
Используйте текстовый редактор, который понимает оба конца строк, например SciTE или Notepad ++, если вам не нужно преобразовывать все окончания строк во всех ваших файлах, но просто не хотите видеть весь файл, сгруппированный в первой строке.
источник
Есть много способов перевести символы eoln в текстовые файлы, и у каждого есть любимые.
Но я всегда передаю файлы из Linux в Windows в режиме BINARY, затем открываю файлы TEXT в Windows с помощью редактора, который может открывать оба типа и сохранять их в любой форме, если это необходимо.
Для этого я использовал Редактор файлов программистов, но Notepad ++ тоже может это сделать. WordPad также полезен [по крайней мере, для просмотра LF-файлов с завершением].
Я имею в виду простые текстовые файлы, которые могли появиться в Linux и должны быть читаемы в мире стандартов (по умолчанию). Я не уверен, что вы имели в виду под «unix-touch-файлами».
источник
Чтобы предложить больше вариантов (хотя мне больше всего понравился взломанный ответ user45832 ):
Интернет конвертеры
Я предполагаю, что программа FTP GUI сделает это автоматически
Пакетная / DOS однострочная (удаляет пустые строки) :
Powershell:
Получил последние два отсюда
источник
Получить AWK для Windows .
Преобразовать окончания строк Unix в окончания строк Windows:
Преобразовать окончания строк Windows в окончания строк Unix:
Более старые версии
awk
не включаютsub
функцию. В таких случаях используйте ту же команду, но заменитеawk
наgawk
илиnawk
.Источник
источник
В Википедии есть решение в cmd:
В PowerShell есть различные способы сделать это, изменив то, что было сделано в этом вопросе .
Это также возможно сделать в VBScript и JScript, которые также являются инструментами, уже доступными в Windows, без установки стороннего приложения.
источник
Мой дистрибутив имеет две маленькие утилиты под названием
fromdos
иtodos
что я использую для этой задачи.источник
Я использовал, чтобы открыть файл в «редактировать» и сохранить как то, что работа была выполнена ...
источник
edit
в DOS, но этот вопрос о Windowsedit
раньше был частью Windows доWindows XP
. Мой ответ около 8 лет. В то времяedit
был частью установки Windows во многих случаях ...