Comment faire pour supprimer un retour chariot avec sed

Suppression d`un retour chariot Avec SED

SED est un éditeur de flux puissant qui vient intégré dans tous les ordinateurs Unix, Linux et Mac OS X. Il excelle à EFFECTUER automatisé, modifications pré-programmées pour le format des données texte entrants, tels que les fichiers journaux. Pour supprimer un retour chariot (ou nouvelle ligne) dans le SED, on pourrait supposer la clé serait la commande de substitution, "sed `s / n // g` file.txt." Cependant, vous seriez surpris de voir que cela ne fonctionne pas. Par défaut, SED fonctionne uniquement ligne par ligne, ce qui rend impossible de supprimer les fins de ligne avec la commande de substitution simple. Pour échapper à ce problème, vous aurez besoin d`utiliser des commandes plus obscures.

  • Ouvrez un terminal en cliquant sur le "Terminal" icône.

  • Tapez le texte suivant:

    sed `




  • Type ":une-" de déclarer une étiquette pour revenir au plus tard.

  • Type "N-" pour activer le mode multi-ligne.

  • Type "$! Ba-" à se joindre à toutes les lignes ensemble et, si vous êtes sur la dernière ligne, revenir en arrière à la première ligne.

  • Tapez votre modèle de substitution:

    s / n / / g

  • Fermez les guillemets en tapant une apostrophe ( `) et tapez le nom du fichier à traiter.

    La dernière commande devrait ressembler à ceci:

    sed `: a-N - $ ba-s / n / / g`

Conseils & Avertissements

  • La solution est inférieure élégante. Unix, Linux et Mac OS X fournissent tous un outil plus puissant et efficace pour le travail: le tr, ou de traduire le caractère, le commandement. Il suffit de taper la commande suivante à la ligne de commande:
  • cat fichier.txt | tr -d ` n`
  • Cela envoie le fichier à travers le "tr" programme, lui disant de supprimer tous les caractères newline.

AUTRES

» » » » Comment faire pour supprimer un retour chariot avec sed