200 votes

Comment supprimer les retours à la ligne d'un fichier texte ?

J'ai les données suivantes, et je dois les mettre sur une seule ligne.

J'ai ça :

22791

;

14336

;

22821

;

34653

;

21491

;

25522

;

33238

;

J'ai besoin de ça :

22791;14336;22821;34653;21491;25522;33238;

EDITAR

Aucune de ces commandes ne fonctionne parfaitement.

La plupart d'entre eux laissent les données ressembler à ceci :

22791

;14336

;22821

;34653

;21491

;25522

2voto

marky Points 11

xargs consomme également les nouvelles lignes (mais ajoute une nouvelle ligne finale) :

xargs < file.txt | tr -d ' '

2voto

Byfjunarn Points 31

Fait de geek : utilisez plutôt l'ASCII.

tr -d '\012' < filename.extension   

(édité parce que je n'ai pas vu la foutue réponse qui avait la même solution, la seule différence étant que la mienne avait l'ASCII)

2voto

Utilisation de l'éditeur de texte gedit (3.18.3)

  1. Cliquez sur Recherche
  2. Cliquez sur Trouver et remplacer...
  3. Entrez \n\s en Trouvez champ
  4. Laissez Remplacer par blanc (rien)
  5. Vérifiez Expression régulière boîte
  6. Cliquez sur le bouton Trouvez bouton

Note : ceci ne répond pas exactement au problème original de l'OP, vieux de 7 ans, mais devrait aider certains utilisateurs novices de linux (comme moi) qui trouvent leur chemin ici depuis les SE avec des questions similaires "comment puis-je avoir mon texte sur une seule ligne".

1voto

Greg Bacon Points 50449
$ perl -0777 -pe 's/\\n+//g' input >output    $ perl -0777 -pe 'tr/\\n//d' input >output

1voto

Jonathan Leffler Points 299946

Si les données sont dans file.txt, alors :

echo $(<file.txt) | tr -d ' '

Le $(<file.txt) La commande 'echo' lit le fichier et donne le contenu sous la forme d'une série de mots que 'echo' répercute ensuite avec un espace entre eux. La commande 'tr' supprime ensuite tous les espaces :

22791;14336;22821;34653;21491;25522;33238;

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