Quelque chose comme cela devrait fonctionner (je ne l'ai pas testé):
while read num rest; do
echo "$num $rest" >> "filename.$num"
done < inputFile
read
lirai ligne de texte, puis s pliez-le sur les espaces en "mots", comme lorsque vous exécutez une commande. Il attribuera le premier "mot" au premier nom de variable (num
dans ce cas - qui obtiendra le numéro), le second "mot" au deuxième nom de variable (rest
), et ainsi de suite. S'il n'y a plus de variables, il ajoutera le reste de la ligne à la dernière variable (rest
, ici).
read
Lorsque read
traite une ligne avec succès, elle renvoie zéro, ce qui est "succès" dans le script de shell, de sorte que la boucle while
continuera, en lisant les lignes suivantes. Lorsque read
atteint la fin du fichier, il renvoie 1, arrêtant la boucle while
.