Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/05/2008, à 13:35

Slashman

Insertion d'un texte dans un fichier à un endroit précis

Bonjour à tous,

J'ai créé un script shell pour extraire des info d'un ldap et j'ai besoin d'insérer le texte en question à un endroit précis dans un autre fichier texte.

En gros il faudrait que l'insertion du texte soit écrite juste après une balise "[monentreprise]", de plus c'est une opération que je vais faire de nombreuse fois donc il faut que ça soit de la vrai insertion, pas du remplacement de ligne.

En gros par exemple, j'extrais du ldap le texte "xxx", je voudrais une commande qui m'ecrive le fichier :

[balise bidon 1]
données bidons...
...
...
[monentreprise]
xxx
[balise bidon 2]
données bidons...
...
...

Ensuite quand je relance mon script avec d'autres données "yyy", il faut que le fichier final donne :

[balise bidon 1]
données bidons...
...
...
[monentreprise]
yyy
xxx
[balise bidon 2]
données bidons...
...
...

Je suis en train de potasser awk et sed mais j'avoue que ça devient assez tricky et je ne cracherai pas sur une aide éclairé tongue

Hors ligne

#2 Le 26/05/2008, à 13:41

iuchiban

Re : Insertion d'un texte dans un fichier à un endroit précis

je pense que sed avec sa fonction a sont tes amis sur ce coup. wink


C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#3 Le 26/05/2008, à 17:21

Slashman

Re : Insertion d'un texte dans un fichier à un endroit précis

Pour l"instant j'arrive à insérer en fin de fichier mais je dois rater quelque chose avec l'insertion derrière une certaine chaîne de caractère....

Personne n'a eu un besoin similaire et aurait une idée de comment résoudre ce pb ? tongue

Hors ligne

#4 Le 26/05/2008, à 17:37

geenux

Re : Insertion d'un texte dans un fichier à un endroit précis

Je ne sais pas si ils en parlent ici, mais c'est un bon tuto pour débuter avec sed. Si ça peut t'aider.

Hors ligne

#5 Le 27/05/2008, à 08:59

Slashman

Re : Insertion d'un texte dans un fichier à un endroit précis

Bon et bien merci geenux, en fait j'utilisais Sed de façon incorrect, voici la bonne syntaxe :

sed '/[expression après laquelle on veut introduire le texte]/ a\[texte à ajouter]' [fichier original] > [fichier sortant]

Bon par contre pour l'instant je n'arrive pas à insérer un fichier en entier, je vais continuer à creuser.

Hors ligne

#6 Le 27/05/2008, à 09:46

iuchiban

Re : Insertion d'un texte dans un fichier à un endroit précis

tu veux insérer tout le contenu d'un fichier texte après ta ligne??

while read ligne
do
<ta commande sed d'insertion avec \a $ligne>
done < fichier à insérer

C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne