Odpowiedzi:
Jesteś prawdopodobnie szuka dos2unix
, unix2dos
, todos
lub fromdos
w zależności od dystrybucji. Pakiet Ubuntu / Debian todos
/ fromdos
jako część pakietu tofrodos z pamięci.
dos2unix
/unix2dos
na Mac OS X za pomocą Homebrew . Po zainstalowaniu Homebrew polecenie to brew install dos2unix
korzysta z tej formuły .
Jedną z opcji jest użycie unix2dos
(i dos2unix
cofnię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 > outfile
przejść z Windows -> Unix,
awk 'sub("$", "\r")' unixfile.txt > winfile.txt
aby przejść z Unix -> Windows, ponieważ tr
nie można przejść z Unix do Windows.
ff
: :e ++ff=unix
. Przynajmniej ma sens dos -> unix
konwersja.
Edytuj go w Vimie i użyj set fileformat
polecenia.
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 vi
sesję
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 \r
lub \15
. Nawet jeśli tak, opcja na miejscu -i
nie jest POSIX
POSIX awk robi wsparcie \r
i \15
, jednak -i inplace
opcja ta nie jest POSIX
d2u i dos2unix nie są narzędziami POSIX , ale ex jest
POSIX ex nie obsługuje \r
, \15
, \n
lub\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
dos2unix
to waterlan.home.xs4all.nl/dos2unix.html , i działa również w systemie Windows.