Comment convertir des sauts de ligne dans un fichier texte entre les formats Windows et Unix / Linux?
J'ai un environnement * nix, mais il me faut importer et exporter des données avec des sauts de ligne de style Windows. Je pensais qu'il y aurait un utilitaire standard ou une commande pour le faire, mais je n'arrive pas à le trouver.
dos2unix
est waterlan.home.xs4all.nl/dos2unix.html et fonctionne également sous Windows.dos2unix
/unix2dos
sur Mac OS X avec Homebrew . Avec Homebrew installé, la commande estbrew install dos2unix
, qui utilise cette formule .Une option consiste à utiliser
unix2dos
(etdos2unix
à revenir en arrière) sur la ligne de commande.Une autre consiste à utiliser un éditeur de texte:
Pour vi:: set ff = dos pour définir les fins de ligne comme étant des fins de ligne.
Pour emacs: Cx [ENTER] f dos [ENTER]
Pour votre éditeur basé sur une interface graphique préférée (par exemple, jedit), je vous recommande de consulter le manuel ou Google.
Enfin, si vous ne souhaitez pas utiliser d’éditeur de texte, utilisez simplement des utilitaires plus courants, par exemple (ou n’avez pas installé unix2dos):
tr -d '\r' < infile > outfile
pour aller de Windows -> Unixawk 'sub("$", "\r")' unixfile.txt > winfile.txt
pour aller de Unix -> Windows cartr
ne peut pas aller de Unix à Windows.la source
ff
::e ++ff=unix
. Au moins, cela a du sens pour lados -> unix
conversion.Modifiez-le dans Vim et utilisez la
set fileformat
commande.MS-DOS / Windows (coupures CR + LF) à * nix (coupures LF seulement)
* nix à MS-DOS / Windows
la source
hexdump -C
- a également confirmé que ce n'est pas collant - elle est définie parvi
sessionC’est ce que j’utilise, comme Chealion, pour convertir les fins de ligne Windows en Unix:
la source
Faire cela avec POSIX est délicat:
POSIX Sed ne prend pas en charge
\r
ou\15
. Même si c'était le cas, l'option en place-i
n'est pas POSIXPOSIX Awk prend en charge
\r
et\15
, toutefois, l'-i inplace
option n'est pas POSIXd2u et dos2unix ne sont pas des utilitaires POSIX , mais ex est
Ex Posix ne supporte pas
\r
,\15
,\n
ou\12
Pour supprimer les retours chariot:
Pour ajouter des retours chariot:
la source