Inserer texte dans premiere ligne du fichier

Fermé
hugues - 16 mai 2007 à 12:33
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 16 mai 2007 à 13:45
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 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 266
16 mai 2007 à 12:37
Ben avec 'cat' et 'echo'...

echo 'ma ligne' && cat monfichier.txt

0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
16 mai 2007 à 13:26
Salut,

Il y a aussi la méthode avec "sed" :
sed -i.bak '1i"La phrase à insérer"' fichier
;-))
0
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
16 mai 2007 à 13:45
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