Inserer texte dans premiere ligne du fichier

hugues -  
jipicy Messages postés 41342 Statut Modérateur -
bonjour,
voila j'ai un petit souci: je suis entrain de suivre des cours unix et je doit rendre un petit script le plus vite possible mais le problème c'est que je ne trouve pas la commande même aprés avoir relus le cours x fois!!!!!

bon voila ce que je doit faire : je doit prendre 2 argument, l'un est une ligne de texte et le deuxième est un fichier avec x ligne dedans, donc je doit insérer le texte dans la première ligne du fichier, petite précision on ne peut pas utiliser de fichier temp ni la commande awk.
j'ai deja essayé 10000 truc mais rien ne fonctionne!!!!!!!!

j'espère que quelqu'un pourra m'aider et avoir une réponse assez vite.

d'avance merci.

A+
A voir également:

2 réponses

Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 279
 
Ben avec 'cat' et 'echo'...

echo 'ma ligne' && cat monfichier.txt

0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Il y a aussi la méthode avec "sed" :
sed -i.bak '1i"La phrase à insérer"' fichier
;-))
0
hugues
 
je te remercie je vais essayé de suite par contre tu va me trouver chiant mais pour l'ajouter non pas au début mais au millieu du texte je fais comment?

encore merci, tu viens de me sauver(j'ai un séminaire dans 2 semaines et je doit envoyer ces exercices pour pouvoir y acceder!!!!!)
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Ben tout dépend du moyen de localiser le milieu (n° de ligne, motifs...) !

Tiens tu peux déjà regarder ce thread qui traite du sujet, mais avec des moyens peu optimisés.

Le plus simple étant d'employer la méthode donnée ci-dessus avec "sed", en remplaçant le "1" (1ère ligne) par le numéro de la ligne avant laquelle tu dois insérer ta phrase (change le "i" (comme Insertion) après le numéro de ligne par un "a" (comme Ajouter) pour un ajout après le numéro de ligne spécifié).

Insertion avant la 5ème ligne :
sed -i.bak '5i"La phrase à insérer"' fichier
Ajout après la sixième ligne :
sed -i.bak '6a"La phrase à insérer"' fichier
;-))
0