Existe-t-il une commande Bash pour convertir \ r \ n en \ n?
Lorsque je télécharge mes scripts de Windows vers Linux, j'ai besoin d'un utilitaire comme celui-ci pour faire fonctionner les choses.
linux
bash
newlines
carriage-return
user25321
la source
la source
dos2unix
est généralement disponible, sinonsed -e 's/\r$//'
dos2unix
un programme Unix / Linux pour faire ce que vous voulez.Réponses:
Il y a:
la source
Translate ( tr ) est disponible dans tous les Unix:
la source
\r
. Ils sont très rares cependant.Avec sed et trouvez cette fin avec
.txt, .php, .js, .css
:la source
Il existe un utilitaire Unix appelé
conv
qui peut convertir les fins de ligne. Il est souvent invoqué avec des liens logiciels versu2d
oud2u
ouunix2dos
oudos2unix
.De plus, il existe des utilitaires appelés
fromdos
ettodos
.la source
Utilisation de man 1 ed (qui édite les fichiers sur place sans aucune sauvegarde préalable - contrairement à: sed .. -i ".bak" ...):
la source
Faire cela avec POSIX est délicat:
POSIX Sed ne prend pas en charge
\r
ou\15
. Même si c'est le cas, l'option en place-i
n'est pas POSIXPOSIX Awk ne prend pas en charge
\r
et\15
, cependant, 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
Oui, utilisez
dos2unix
. Par exemple:la source
(Chacun existe également pour les systèmes non Ubuntu, mais ces liens sont pratiques.)
la source