#1 Le 20/08/2007, à 21:28
- Guy_
Retour à la ligne après ' ' ( espace )
Bonsoir, dans un fichier j'ai la ligne suivante :
undeux troisquatre
Ce que je veux faire, c'est qu'après l'espace blanc, il y'es un retour automatique à la ligne, j'obtiendrais donc :
undeux
troisquatre
J'ai tout de suite penser à Sed, mais je ne connais pas la syntaxe, même si j'ai regardé le man... Comment procéderiez-vous ? Des conseils ?
Je suis preneur de tout Merci bien.
#2 Le 20/08/2007, à 22:28
- abetsic
Re : Retour à la ligne après ' ' ( espace )
Bonjour,
Je connais au moins deux solutions dont une avec sed :
cat ton_fichier | tr ' ' '\n' > ton_nouveau_fichier
et
sed 's/ /\n/g' ton_fichier > ton_nouveau_fichier
le \n représente le retour chariot.
Hors ligne
#3 Le 20/08/2007, à 23:55
- Guy_
Re : Retour à la ligne après ' ' ( espace )
Merci beaucoup, ça marche impec. Est-ce possible de stocké les x lignes dans x variables ?
J'ai fais :
var="undeux troisquatre"
echo $var | tr ' ' '\n'
Est-il possible de faire var1="undeux", var2="troisquatre" ?
Je pensais à mettre le résultat de echo $var | tr ' ' '\n' dans un fichier, puis ensuite de mettre la ligne 1 en variable, la 2 en variable. Mais je sais pas si c'est la meilleure solution. Des conseils ?
#4 Le 21/08/2007, à 00:29
- abetsic
Re : Retour à la ligne après ' ' ( espace )
Tu dois pouvoir faire ça avec en stockant les variables dans un tableau.
Tu peux compter le nombre de lignes avec la commande "wc" et afficher la ligne qui t'intéresse avec "head" et "tail".
Hors ligne
#5 Le 21/08/2007, à 14:01
- JoelS
Re : Retour à la ligne après ' ' ( espace )
Merci beaucoup, ça marche impec. Est-ce possible de stocké les x lignes dans x variables ?
Regardes aussi la fonction read de ton shell (c'est une fonction builtin, donc man bash ou man dash mais pas man read !)
Hors ligne
#6 Le 21/08/2007, à 18:09
- any
Re : Retour à la ligne après ' ' ( espace )
pour les commande builtin du shell utilise help .
ex help read ,help help