Odpowiedzi:
Jesteś prawdopodobnie szuka dos2unix, unix2dos, todoslub fromdosw zależności od dystrybucji. Pakiet Ubuntu / Debian todos/ fromdosjako część pakietu tofrodos z pamięci.
dos2unix/unix2dos na Mac OS X za pomocą Homebrew . Po zainstalowaniu Homebrew polecenie to brew install dos2unixkorzysta z tej formuły .
Jedną z opcji jest użycie unix2dos(i dos2unixcofnięcie) w wierszu poleceń.
Innym jest użycie edytora tekstu:
Dla vi:: ustaw ff = dos, aby ustawić zakończenia linii na zakończenia linii dos.
Dla emacsa: Cx [ENTER] f dos [ENTER]
Dla twojego ulubionego edytora opartego na GUI (np. Jedit) polecam sprawdzenie instrukcji lub Google.
Na koniec, jeśli nie chcesz zajmować się edytorem tekstu i po prostu zrób to za pomocą bardziej powszechnych narzędzi i takich (lub nie masz zainstalowanego unix2dos):
tr -d '\r' < infile > outfileprzejść z Windows -> Unix,
awk 'sub("$", "\r")' unixfile.txt > winfile.txtaby przejść z Unix -> Windows, ponieważ trnie można przejść z Unix do Windows.
ff: :e ++ff=unix. Przynajmniej ma sens dos -> unixkonwersja.
Edytuj go w Vimie i użyj set fileformatpolecenia.
MS-DOS / Windows (CR + LF psuje się) do * nix (tylko LF psuje się)
:set fileformat=unix
:wq
* nix do MS-DOS / Windows
:set fileformat=dos
:wq
hexdump -C- również potwierdzone, że nie jest lepkie - jest ustawione na visesję
Oto, czego używam, podobnie jak Chealion, do konwersji systemu Windows na zakończenia linii Unix:
tr -d \\015 < windows > unix
Robienie tego z POSIX jest trudne:
POSIX Sed nie obsługuje \rlub \15. Nawet jeśli tak, opcja na miejscu -inie jest POSIX
POSIX awk robi wsparcie \ri \15, jednak -i inplaceopcja ta nie jest POSIX
d2u i dos2unix nie są narzędziami POSIX , ale ex jest
POSIX ex nie obsługuje \r, \15, \nlub\12
Aby usunąć zwroty karetki:
awk 'BEGIN{RS="\1";ORS="";getline;gsub("\r","");print>ARGV[1]}' file
Aby dodać zwrot karetki:
awk 'BEGIN{RS="\1";ORS="";getline;gsub("\n","\r&");print>ARGV[1]}' file
dos2unixto waterlan.home.xs4all.nl/dos2unix.html , i działa również w systemie Windows.