Insérer une ligne dans un texte à n lignes

makoko -  
 makoko -
Bonjour,

Je voudrais insérer une ligne de texte à la énième ligne d'un texte, de n lignes.

Par ex. fichier :to

eeeeeeee
eeeeeeee
eeeeeeee
eeeeeeee

Je veux insérer "hello" -que je peux mettre aussi dans un fichier: yo - à la moitié du nombre de lignes (/2)

methode :

1. je compte nombre de lignes : nl =$(wc -l < to)

2. je prends la moitié :middleline : ml=$(( $nl/2 ))

3. j'insère ! mais comment faire; j'ai essayé une boucle for, non; j'ai essayé une boucle while : ça me semble être la bonne fonction, mais comment lui dire : a) de s'arrêter à ml ; b) de créer une nouvelle ligne; c) d'insérer 'hello' ou le contenu de yo.

4. afficher le texte to avec insertion

merci d'avance de votre aide !
A voir également:

2 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
0
makoko
 
Merci!

Mais il faut le faire sans sed ou awk : ce serait plus facile, c'est vrai !

je suis débutant, alors, on me demande de laisser tomber, pour le moment, la grosse artillerie ...!

j'ai trouvé quelque chose, que je suis entrain de tester; je n'était loin, à mon avis, mais j'oubliais de prendre en compte ml+1 pour l'insertion et non ml ou ml-1. En effet, comme quelqu'un l'a dit, que ce soit un n pair ou impair, le problème ne se pose pas.

Je vais tester. Ce n'est pas encore gagné.

Merci
0