Retour chariot après le 4eme espaces avec SED
Résolu
Rubbick
Messages postés
32
Statut
Membre
-
Rubbick Messages postés 32 Statut Membre -
Rubbick Messages postés 32 Statut Membre -
Bonjour,
Je cherche a faire un retour chariot après le 4eme espaces avec SED, c'est un retour d'une commande lancé sur un hôte distant via SSH redirigé dans un fichier.
/dev/xvda2 19G 4.6G 14G /dev/xvdb1 50G 766M 46G
et je voudrais comme résultat
/dev/xvda2 19G 4.6G 14G
/dev/xvdb1 50G 766M 46G
j'ai tenté cette commande mais il prend en compte la première occurrence
sed 's/ /\n/' test
/dev/xvda2
19G 4.6G 14G /dev/xvdb1 50G 766M 46G
Merci a vous.
Je cherche a faire un retour chariot après le 4eme espaces avec SED, c'est un retour d'une commande lancé sur un hôte distant via SSH redirigé dans un fichier.
/dev/xvda2 19G 4.6G 14G /dev/xvdb1 50G 766M 46G
et je voudrais comme résultat
/dev/xvda2 19G 4.6G 14G
/dev/xvdb1 50G 766M 46G
j'ai tenté cette commande mais il prend en compte la première occurrence
sed 's/ /\n/' test
/dev/xvda2
19G 4.6G 14G /dev/xvdb1 50G 766M 46G
Merci a vous.
A voir également:
- Retour chariot après le 4eme espaces avec SED
- Espaces insécables word - Guide
- Ygg le retour - Guide
- Retour à la ligne chatgpt - Forum PHP
- Aller à la ligne lors de la rédaction d'un message ✓ - Forum MacOS
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Linux / Unix
3 réponses
Le plus simple c'est de le faire avec awk :
Si tu veux le faire avec sed, tu dois faire une expression régulière qui capture 4 premiers mots (séparés d'un espace), et les 4 derniers mots, puis les réécrire séparé d'un retour à la ligne... ce qui est faisable mais plus compliqué à écrire.
Bonne chance
(mando@velvet) (~) $ echo "/dev/xvda2 19G 4.6G 14G /dev/xvdb1 50G 766M 46G" | awk '{print $1, $2, $3, $4 "\n" $5, $6, $7, $8}'
/dev/xvda2 19G 4.6G 14G
/dev/xvdb1 50G 766M 46G
Si tu veux le faire avec sed, tu dois faire une expression régulière qui capture 4 premiers mots (séparés d'un espace), et les 4 derniers mots, puis les réécrire séparé d'un retour à la ligne... ce qui est faisable mais plus compliqué à écrire.
(mando@velvet) (~) $ echo "/dev/xvda2 19G 4.6G 14G /dev/xvdb1 50G 766M 46G" | sed -e "s/\(.* .* .* .*\) \(.* .* .* .*\)/\1\n\2/"
/dev/xvda2 19G 4.6G 14G
/dev/xvdb1 50G 766M 46G
Bonne chance