script d'insertion - Linux et OS Alternatifs
Marsh Posté le 12-05-2005 à 16:39:43
donc en gros tu veux insérer une ligne entre la 14ème et la 15ème ligne ? 
1) récupère les 14 premières lignes 
2) récupère de la ligne 15 jusqu'à la fin du fichier 
affiche ce que tu as récupéré en 1) puis affiche ta ligne à inséré puis pour finir tu affiches ce qui y a en 2) 
 
commandes  tail, head et usage intensive de la concaténation  dans un fichier ">>" 
 
1) head -n 14 > fichier_tmp1 
2) tail +15 > fichier_tmp2
Marsh Posté le 12-05-2005 à 17:25:25
non je voudrais me placer sur la 14e ligne et y ajouter à la fin de cette 14eligne un nom  
 
si mon fichier est semblable à ça et que je veux rajouter user4 
14: user1 user2 user3  
 
->14:user1 user2 user3 user4
Marsh Posté le 12-05-2005 à 17:30:52
en sh : 
comme ce que je t'avais expliqué : tu récupères les 13 premières lignes puis la 14ème ligne (head | tail) que tu stockes dans une variable ligne_a_modifier puis tu récupères les lignes suivantes (15-fin) 
ligne_a_modifier=`echo "$ligne_a_modifier $user"` 
puis tu réassembles le tout comme indiqué précédemment 
ou en awk : 
{ 
if (num_ligne!=NR) 
print $0; 
else 
printf "%s %s\n",$0,user; 
 
} 
 
NR : numéro de la ligne en cours de traitement
Marsh Posté le 12-05-2005 à 16:32:52
comment à l'aide d'un shell-script se placer sur la 14eligne d'un fichier texte par ex. et à la fin de cette ligne pour y ajouter un nom ?