J'utilise cette commande pour insérer une ligne. S'il y a un espace dans le motif entre deux entrées dans le texte ou le fichier, il imprime le contenu sur la nouvelle ligne. Cela fonctionne bien, mais parfois je rencontre 2 espaces ou 3 espaces au lieu d'un que je cherche dans le motif, donc je reçois des lignes vides supplémentaires. Je veux imprimer une nouvelle ligne seulement le sed trouve quelque chose dans le modèle. Comment devrais-je utiliser la commande sed pour traiter 1 espace ou des espaces doubles ou triples comme un substitut?Sed Commande de substitution Comment traitez-vous les espaces ou les espaces multiples comme un seul?
Répondre
Vous avez besoin d'un quantificateur:
sed "s/ */\n/g"
ou
sed 's/ \+/\n/g' # With GNU sed
ou
sed -r 's/ +/\n/g'
ou
sed 's/ \{1,\}/\n/g'
ou
sed -r 's/ {1,}/\n/g'
Si vous utilisez BSD sed,
sed 's/ */\'$'\n''/g'
ou
sed -r 's/ +/\'$'\n''/g'
Vous pouvez également utiliser tr
:
tr -s ' ' '\n'
L'option -s
serre répétitions d'un caractère dans set1, à savoir le ' '
dans cet exemple.
le second n'est pas portable. –
@ shiplu.mokadd.im Merci a ajouté une note. Ajout d'options pour BSD sed aussi. – devnull
je ferais quelque chose comme ...
sed -e 's/\s\+/\n/g' [filename]
Pour rechercher et remplacer un ou plus d'espace blanc avec une nouvelle ligne.
- 1. supprimer les espaces doubles et les remplacer par un seul
- 2. Remplacer des onglets ou des espaces multiples
- 3. Remplacement d'un seul espace par sed sans toucher plusieurs espaces
- 4. substitution des espaces réservés jQuery
- 5. comment changer les espaces comme lecteur DVD?
- 6. Commande SED pour supprimer les premiers chiffres et les espaces de chaque ligne
- 7. substitution Sed et commande externe
- 8. Étant donné un tableau, comment supprimer les espaces blancs avant et après un seul colon et que d'autres espaces multiples se transforment en un seul?
- 9. Supprimer les espaces dans les cordes
- 10. Comment nettoyer les espaces dans un NSString
- 11. comment maintenir les espaces entre les caractères?
- 12. Remplacer les espaces javascript
- 13. Comment supprimer les espaces blancs avec php
- 14. commande Shell et espaces
- 15. Mysql recherche traiter les périodes comme les espaces
- 16. Comment remplacer les espaces par un [emacs
- 17. Supprimer les espaces multiples avant et après Characters PHP
- 18. Comment supprimer les espaces en trop dans un fichier HTML? (Et seulement des espaces en trop)
- 19. Les espaces dans wordcloud
- 20. comment régler les espaces dans les chaînes
- 21. Retirez les espaces vides
- 22. regex contre les espaces
- 23. Grands espaces, espaces entre les mots dans le texte uiLabel
- 24. Laisser les espaces
- 25. ansible, espaces dans les variables de la ligne de commande
- 26. Supprimer les espaces de symbole
- 27. Changer les espaces pour -
- 28. Remplacer toutes les puces par des espaces
- 29. Enlever les espaces de QTextEdit
- 30. Dénuder tous les espaces
Je sais que c'est une question sed. Mais il peut être réalisé par 'tr -s '' ' –
Et aussi par' awk' $ 1 = $ 1 'OFS =' \ n'' – devnull
@ shiplu.mokadd.im Il est inutile d'ajouter une option dans les commentaires après qu'il a été spécifié dans l'une des réponses. – devnull