Rechercher : dans
Par :

Ed ou sed en une commande

Dernière réponse le 25 fév 2008 à 12:11:00 Jules, le 25 fév 2008 à 11:39:11 
 Signaler ce message aux modérateurs

Bonjour,

Je voudrais certaine modification de chaine de caractère pour un ensemble de fichiers texte.

J'ai trouvé 2 possibilités via sed et l'éditeur ed :

SED
for i in fichier1 fichier2 ... ; do sed "s/SERVICE CLIENTS/test/g" $i > "$i"_ok ; mv "$i"_ok $i ; done

L'inconvénient dans ce cas est la redirection dans un fichier tempo pour ré-écraser le fichier.

ED
Avec cet editeur, j'ai la possibilité de modifié le fiichier et de le sauvegarder :

ed fichier1

?
s/test/modif
modif

?
wq


D'où ma question ... est-ce que je peux faire ces modification via ed sur une seule ligne ? (j'ai esayé des , ; ^C en séparateur sans succès) ... ce qui me permettra de faire la meme boucle que sur mon sed. Merci pour vos réponse.

Configuration: Linux 2.6.14.2

Meilleures réponses pour « ed ou sed en une commande » dans :
Sed - Supprimer une ou plusieurs lignes d'un fichier VoirSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la...
Sed - Introduction à SED - Part II VoirSED - The Stream EDitor - Part II Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Sed - Substitution VoirSubstitution Substitution basique Simple Globale Ciblée Substitution conditionnée Simplee Avancée Bloc Avancéé Substitution basique Simple - 1ère occurrence (de chaque ligne) rencontrée uniquement sed 's/la/LA/' fichier.txt
Commandes Linux VoirTableau des principales commandes Linux Commande Description équivalent DOS ls liste le contenu d'un répertoire dir cd change de répertoire cd cd .. répertoire parent cd.. mkdir crée un nouveau...
Commandes UNIX VoirTableau des principales commandes UNIX Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés ...
Les commandes AS/400 VoirLes commandes de l’AS/400 Il existe environ un millier de commandes dans l'OS/400, regroupées sous le nom de « Langage de Contrôle ». Un utilisateur pourra les lancer depuis la ligne Option ou Commande située au bas de l'écran, quand celle-ci est...

1

jipicy, le 25 fév 2008 à 11:45:38
  • +1

Salut,

Quelle version de sed ? (sed --version)
Si supérieure à 4.0.5 tu as l'option "-i" qui permet de modifier le fichier d'origine sans passer par un fichier temporaire...

Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

3

Jules, le 25 fév 2008 à 12:03:06

Sed version 4.1.5

Répondre à Jules

2

Darkito, le 25 fév 2008 à 11:47:28
  • +1

Bonjour,
pour la redirection de sed, tu peux aller jeter un œil ici Tøƒ
A quand la matière "Comment faire une recherche Google ?" obligatoire dès la 6ème ?

Répondre à Darkito

6

 Jules, le 25 fév 2008 à 12:11:00

Merci pour le lien, ça me fait 2 pistes à exploiter.

Merci à tous pour vos réponses.

Répondre à Jules

4

jipicy, le 25 fév 2008 à 12:03:06
  • +2

Tiens, la syntaxe avec "ed" pour modifier un fichier :

ed -s fichier <<< $',s/SERVICE CLIENTS/test/g\nw'
Source et tutoriel : http://bash-hackers.org/wiki/doku.php/howto/edit-ed

;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

5

Jules, le 25 fév 2008 à 12:04:45

Yeaaaaaaahhhh Merci c'est exactement ce que je cherchais.

Répondre à Jules