script d'insertion

script d'insertion - Linux et OS Alternatifs

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 ?
 
 

Reply

Marsh Posté le 12-05-2005 à 16:32:52   

Reply

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


Message édité par jlighty le 12-05-2005 à 16:42:26
Reply

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

Reply

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


Message édité par jlighty le 12-05-2005 à 17:33:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed