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 ?