[Script Shell]A quoi sert sed -f
Fermé
Ghis
-
21 févr. 2006 à 09:57
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 21 févr. 2006 à 18:03
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 21 févr. 2006 à 18:03
A voir également:
- Sed -e shell
- É - Guide
- Classic shell windows 11 - Télécharger - Personnalisation
- Classic shell c'est quoi ✓ - Forum Windows 10
- E mule - Télécharger - Téléchargement & Transfert
- É majuscule ✓ - Forum Windows
8 réponses
ekra
Messages postés
1870
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
342
21 févr. 2006 à 10:02
21 févr. 2006 à 10:02
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 févr. 2006 à 10:03
21 févr. 2006 à 10:03
Salut,
"man sed" :
En fait derrière le "-f" il faut appeler un "script sed". L'option "-f" est là justement pour signifier à la commande "sed" qu'il faut qu'elle puise ses paramètres et options dans le fichier désigné par l'option "-f".
"man sed" :
DESCRIPTION Sed is a stream editor. A stream editor is used to perform basic text transformations on an input stream (a file or input from a pipeline). While in some ways similar to an editor which permits scripted edits (such as ed), sed works by making only one pass over the input(s), and is consequently more efficient. But it is sed's ability to filter text in a pipeline which particularly distinguishes it from other types of editors. -f script-file, --file=script-fileLa commande seule comme ça ne sert à rien !add the contents of script-file to the commands to be executed
En fait derrière le "-f" il faut appeler un "script sed". L'option "-f" est là justement pour signifier à la commande "sed" qu'il faut qu'elle puise ses paramètres et options dans le fichier désigné par l'option "-f".
Merci pour les infos,
J'ai l'impression que chez moi la commande fais des bizzareries...
Voilà, g dans mon fichier .sed la commande :
s/ZURL/serveurbidon.bidon:2020\\?gfdg&gfdgfd
biensur l'URL est bidon mais elle contient des caractères speciaux % & ? / le prob est que ces caractères sont réinterprétés..
- le & est remplacé par le ZURL de la commande
- je dois mettre \\ dans mon URL pour avoir un slash....
-le ? est remplacé par un / ....
bref ça deconne la solution que j'ai trouvé est de mettre \\ pour un "/" et faire précédé les caractères speciax par un \ ..
Il n'y aurait pas un autre moyen?
Merci
J'ai l'impression que chez moi la commande fais des bizzareries...
Voilà, g dans mon fichier .sed la commande :
s/ZURL/serveurbidon.bidon:2020\\?gfdg&gfdgfd
biensur l'URL est bidon mais elle contient des caractères speciaux % & ? / le prob est que ces caractères sont réinterprétés..
- le & est remplacé par le ZURL de la commande
- je dois mettre \\ dans mon URL pour avoir un slash....
-le ? est remplacé par un / ....
bref ça deconne la solution que j'ai trouvé est de mettre \\ pour un "/" et faire précédé les caractères speciax par un \ ..
Il n'y aurait pas un autre moyen?
Merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 févr. 2006 à 15:51
21 févr. 2006 à 15:51
Salut,
Alors pour commencer, le slash ( / ) est recommandé par convention comme sépararteur pour une meilleure lisibilité, mais rien n'empêche d'utiliser le caractère de son choix... comme "@" ou "!" ou encore "µ".
De plus si tu entoures ta commande de substitution de quotes simples ( ' ) au lieu de guillemets ou quotes doubles ( " ), tu pourras très bien substituer les caractères "&,?,!,% et / sans les protéger par un back-slash ( \ ) ;-))
Alors pour commencer, le slash ( / ) est recommandé par convention comme sépararteur pour une meilleure lisibilité, mais rien n'empêche d'utiliser le caractère de son choix... comme "@" ou "!" ou encore "µ".
De plus si tu entoures ta commande de substitution de quotes simples ( ' ) au lieu de guillemets ou quotes doubles ( " ), tu pourras très bien substituer les caractères "&,?,!,% et / sans les protéger par un back-slash ( \ ) ;-))
[jp@MDK tmpfs]$ echo "http://www.commentcamarche.net/20%&=?" | sed 's!/20%&=?! Il y a pas mieux!' http://www.commentcamarche.net Il y a pas mieux [jp@MDK tmpfs]$ echo "http://www.commentcamarche.net/20%&=?" | sed 's@/20%&=?@ Il y a pas mieux !@' http://www.commentcamarche.net Il y a pas mieux ! [jp@MDK tmpfs]$ echo "http://www.commentcamarche.net/20%&=?" | sed "s@/20%&=?@ Il y a pas mieux !@" bash: !@": event not found [jp@MDK tmpfs]$;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci beaucoup pour ton aide jipicy.
Je ne comprend pas trop les exemples....Tu retires les caractères speciaux si je comprends bien, mais moi j'en ai besoin..et la syntaxe de mon sed est
sed -f fichier.sed template.html > fichier.html
Merci.
Je ne comprend pas trop les exemples....Tu retires les caractères speciaux si je comprends bien, mais moi j'en ai besoin..et la syntaxe de mon sed est
sed -f fichier.sed template.html > fichier.html
Merci.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 févr. 2006 à 16:27
21 févr. 2006 à 16:27
Arfffffffffff :-(
Oui désolé j'ai fait les tests que dans un sens.
Il semblerait tout de même qu'il n'y ait que le caractère "&" à protéger (\&) en employant les quotes simples, les autres caractères n'étant pas remplacés.
Oui désolé j'ai fait les tests que dans un sens.
Il semblerait tout de même qu'il n'y ait que le caractère "&" à protéger (\&) en employant les quotes simples, les autres caractères n'étant pas remplacés.
Oui effectivement seul le & est à protéger le ? ne pose pas de prob et les autres non plus d'ailleurs...
Serais tu me dire pour quoi "\\" dans l'URL ontenu dans mon fichier text me donne un / dans mon html ....c'est le seul moyen que g trouvé pour avoir un /.. etrange.
Encore merci
Serais tu me dire pour quoi "\\" dans l'URL ontenu dans mon fichier text me donne un / dans mon html ....c'est le seul moyen que g trouvé pour avoir un /.. etrange.
Encore merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 févr. 2006 à 17:31
21 févr. 2006 à 17:31
Euh...!!! J'ai pas tout compris là :-\
Tu peux me donner un exemple concret s'il te plaît, merci.
Tu peux me donner un exemple concret s'il te plaît, merci.
Donc voilà la situation.
En fait, j'ai un script qui extrait des données dans un fichier texte, dont une URL avec des caratères speciaux (URL qui va servir de lien dans un mail).
Ces données extraites sont placées dans un fichier sed.
Ce fichier sed est substitué via le script à un fichier template, un html qui me sert de modele de mail.
Le problème et que pour resoudre mes soucis, je dois modifier l'URL directement dans le fichier texte avec les fameux "\" et en plus etant donné que mes / sont refusés j'ai testé des choses et il s'est avéré que la combinaison \\ me renvoi dans le mail un /...
voilà, en esperant avoir été clair :)
Merci.
En fait, j'ai un script qui extrait des données dans un fichier texte, dont une URL avec des caratères speciaux (URL qui va servir de lien dans un mail).
Ces données extraites sont placées dans un fichier sed.
Ce fichier sed est substitué via le script à un fichier template, un html qui me sert de modele de mail.
Le problème et que pour resoudre mes soucis, je dois modifier l'URL directement dans le fichier texte avec les fameux "\" et en plus etant donné que mes / sont refusés j'ai testé des choses et il s'est avéré que la combinaison \\ me renvoi dans le mail un /...
voilà, en esperant avoir été clair :)
Merci.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
21 févr. 2006 à 18:03
21 févr. 2006 à 18:03
Ok.
Par contre j'ai pas d'explication pour ça :-\
Par contre j'ai pas d'explication pour ça :-\