Inserer texte dans premiere ligne du fichier

[Fermé]
Signaler
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
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+

2 réponses

Messages postés
18652
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
22 octobre 2021
63 256
Ben avec 'cat' et 'echo'...

echo 'ma ligne' && cat monfichier.txt

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 888
Salut,

Il y a aussi la méthode avec "sed" :
sed -i.bak '1i"La phrase à insérer"' fichier
;-))
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!!!!!)
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 888
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
;-))