Я создал файл блокнота в Windows и скопировал его в Ubuntu. Файл содержит некоторые правила iptables. После того, как файл стал исполняемым с использованием chmod +x
и выполнением, он не работал.
Однако, когда я создал файл Ubuntu ( gedit ) и скопировал то же содержимое из файла Notepad, сделал его исполняемым и запустил его, это сработало.
Что я должен сделать, чтобы файл Notepad работал в Ubuntu?
Ответы:
Windows и Linux имеют разные символы конца строки.
Вы можете установить
dos2unix
утилиту, которая исправляет это:Запустите это так:
Также есть
unix2dos
утилита.Преобразование Windows в Linux также можно выполнить без установки какого-либо специального программного обеспечения
Примечание. Входные и выходные файлы должны быть разными.
Версия sed будет редактировать файл "на месте":
Или напишите в другой файл:
источник
dos2unix winfile.txt linuxfile.txt
пытается конвертировать оба файла. Используйте эту командуdos2unix -n winfile.txt linuxfile.txt
В Windows вам нужно изменить формат конца строки (EOL) в Notepad ++ на UNIX:
Таким образом, он будет работать и на Ubuntu.
источник
Windows использует CR + LF для разрывов строк. В Linux / Unix вам нужен LF. Поэтому вы должны заменить CR + LF на LF в вашем скрипте:
устанавливать
dos2unix
И исправьте ваш скрипт через
или через
если вам нужен другой выходной файл
Больше информации здесь
из
man dos2unix
источник
Я использую Cygwin на Windows.
Откройте файл с помощью vi. Затем введите
сохранит файл с символами конца строки Unix.
источник
Вы можете использовать Vim в режиме Ex:
%
выбрать все строкиs
замена\r
возврат кареткиx
сохранить и закрытьисточник