769 votes

Convertir les terminaisons de ligne DOS en terminaisons de ligne Linux dans Vim

Si j'ouvre les fichiers que j'ai créés dans Windows, les lignes se terminent toutes par ^M . Comment supprimer ces caractères en une seule fois ?

1 votes

Si vous faites un hexdump -C badfile et voir 0x0d 0x0a "\r\n" c'est votre problème.

20voto

mercutio Points 5828
:%s/\r\+//g

Dans Vim, cela supprime tous les retours chariot, et ne laisse que les nouvelles lignes.

3 votes

Pour une raison quelconque, ce qui précède n'a pas fonctionné pour moi sous Windows gvim. Mais lorsque j'ai changé pour :%s/\r//g ça a marché comme un charme.

2 votes

@soltysh :%s/ \r\ +$//g

13voto

Alex Gartrell Points 1027

De : Format de fichier

[Esc] :%s/ \r $//

9voto

ScrewLoos3 Points 11

Convertir un répertoire de fichiers de DOS à Unix

En utilisant la ligne de commande et sed, trouver tous les fichiers dans le répertoire actuel avec l'extension ".ext" et supprimer tous les "^M".

@ https://gist.github.com/sparkida/7773170

find $(pwd) -type f -name "*.ext" | while read file; do sed -e 's/^M//g' -i "$file"; done;

Aussi, comme mentionné dans une réponse précédente, ^M \= Ctrl+V + Ctrl+M (ne tapez pas simplement le symbole de la carette "^" et M).

8voto

dos2unix peut modifier directement le contenu du fichier.

Vous pouvez l'utiliser directement sur le fichier, sans qu'il soit nécessaire de rediriger le fichier temporaire.

dos2unix input.txt input.txt

Le texte ci-dessus utilise le clavier américain supposé. Utilisez le -437 pour utiliser le clavier britannique.

dos2unix -437 input.txt input.txt

7voto

ajitomatix Points 143

Les étapes suivantes permettent de convertir le format de fichier DOS en Unix :

:e ++ff=dos     Edit file again, using dos file format ('fileformats' is ignored).[A 1]
:setlocal ff=unix     This buffer will use LF-only line endings when written.[A 2]
:w     Write buffer using Unix (LF-only) line endings.

Référence : _Format de fichier_

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X