Suppressions des retours à la ligne

Récapitulatifs des différentes manières de supprimer les retours à la ligne dans une chaine de caractères.

$ A=$(echo -e "Ceci est une chaine\navec des retours\nà la ligne.")
$ echo "$A"
Ceci est une chaine
avec des retours
à la ligne.

Avec la commande tr

Suppression du retour à la ligne :

$ tr -d "\n" <<< "$A"
Ceci est une chaineavec des retoursà la ligne.

Remplacement du retour à la ligne par un espace :

$ tr "\n" " " <<< "$A"
Ceci est une chaine avec des retours à la ligne.

Avec la commande sed

Suppression du retour à la ligne :

$ sed ':a;N;$!ba;s/\n//g' <<< "$A"
Ceci est une chaineavec des retoursà la ligne.

Remplacement du retour à la ligne par un espace :

$ sed ':a;N;$!ba;s/\n/ /g' <<< "$A"
Ceci est une chaine avec des retours à la ligne.

Avec la commande read

Suppression du retour à la ligne :

$ while read L; do printf "%s" "$L"; done <<< "$A"
Ceci est une chaineavec des retoursà la ligne.

Remplacement du retour à la ligne par un espace :

$ while read L; do printf "%s" "$L "; done <<< "$A"
Ceci est une chaine avec des retours à la ligne.

Avec la commande perl

Suppression du retour à la ligne :

$ perl -p -e 's/\n//' <<< "$A"
Ceci est une chaineavec des retoursà la ligne.

Remplacement du retour à la ligne par un espace :

$ perl -p -e 's/\n/ /' <<< "$A"
Ceci est une chaine avec des retours à la ligne.

Avec la commande paste

Suppression du retour à la ligne :

$ paste -s -d '' <<< "$A"
Ceci est une chaineavec des retoursà la ligne.

Remplacement du retour à la ligne par un espace :

$ paste -s -d ' ' <<< "$A"
Ceci est une chaine avec des retours à la ligne.

Avec la commande awk

Suppression du retour à la ligne :

$ awk 1 ORS='' <<< "$A"
Ceci est une chaineavec des retoursà la ligne.

Remplacement du retour à la ligne par un espace :

$ awk 1 ORS=' ' <<< "$A"
Ceci est une chaine avec des retours à la ligne.

.

Commentaires

Votre code ne fonctionne pas:

MachincBenjamin:Leduc_PCR_MiSeq-20190221R benjamin$ sed ':a;N;$!ba;s/\n/ /g' <<< "$A"
Ceci est une chaine
avec des retours
à la ligne.

Je vous assure que le code fonctionne correctement.

La preuve avec cygwin sous Windows.

Merci pour la commande qui supprime le linefeed
étendu sans problème au retour chariot sous linux ubuntu en bash
après quelques heures passées sur internet
Je suis content. Je n’ai plus qu’à assimiler les détails de la syntaxe.

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.