Remplacer en saut de ligne par un caractère
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous,
Voici le thème, j'aimerais remplacer un saut de ligne par un EndIf.
Voici mon fichier :
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
(...)
J'ai utilisé la commande : sed -e "s/$/\\n/", pour créer un espace entre les lignes.
Et j'espérais qu'un : sed -e 's/\\n/EndIf/g', me donnerait ce que je voulais, mais en vain...
Fichier voulu après changement :
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Merci à vous :-)
?? Saachaa ?
Contributeur CCM
Voici le thème, j'aimerais remplacer un saut de ligne par un EndIf.
Voici mon fichier :
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
(...)
J'ai utilisé la commande : sed -e "s/$/\\n/", pour créer un espace entre les lignes.
Et j'espérais qu'un : sed -e 's/\\n/EndIf/g', me donnerait ce que je voulais, mais en vain...
Fichier voulu après changement :
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Merci à vous :-)
?? Saachaa ?
Contributeur CCM
A voir également:
- Remplacer en saut de ligne par un caractère
- Partage de photos en ligne - Guide
- Caractère ascii - Guide
- Remplacer disque dur par ssd - Guide
- Caractère spéciaux - Guide
- Mètre en ligne - Guide
8 réponses
Salut,
;-))
$ cat plop If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") $ sed '/^$/! s/$/\nEndif/' plop If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") Endif If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") Endif If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") Endif If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") Endif $
;-))
zipe31
Messages postés
38797
Date d'inscription
Statut
Contributeur
Dernière intervention
6 434
Le plus simple étant quand même :
Essaye ceci
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
johand@osiris: ~/src/CCM/sed $ cat if.dat If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") johand@osiris: ~/src/CCM/sed $ sed -e '/^if/I s/$/ ENDIF/' < if.dat If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") ENDIF If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") ENDIF johand@osiris: ~/src/CCM/sed $ sed -e '/^if/I s/$/\nENDIF/' < if.dat If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*") ENDIF If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*") ENDIF
Gates gave ^H sold you the windows.
GNU gave us the whole house.(Alexandrin)
Salut Zipe ;-)
Toujours à l'heure :-)))
Dis moi, tu peux m'expliquer ! et /a stp ?
Merci, je teste ça :-)
Toujours à l'heure :-)))
Dis moi, tu peux m'expliquer ! et /a stp ?
Merci, je teste ça :-)
/^$/!
Si ce n'est pas une ligne vide. Le "!" exprime la négation et le "^$" représente une ligne vide, le " symbolisant le début de la ligne, et le "$" la fin.
a\
La commande pour ajouter (a = append). On ajoute ce qui se trouve après l'anti slash..
On peut aussi l'écrire :
PS. Dans le post précédent, le "/" en fin de "Endif" est en trop ;-(
Si ce n'est pas une ligne vide. Le "!" exprime la négation et le "^$" représente une ligne vide, le " symbolisant le début de la ligne, et le "$" la fin.
a\
La commande pour ajouter (a = append). On ajoute ce qui se trouve après l'anti slash..
On peut aussi l'écrire :
sed '/^$/! a\ Endif ' fichier
PS. Dans le post précédent, le "/" en fin de "Endif" est en trop ;-(
Re,
@Jisisv,
Ta commande fonctionne, mais je viens de me rendre compte que je dois sauter une ligne après le Then, sinon ça ne fonctionne pas.
Comme ceci :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
Endif
Je vais chercher de mon côté et je vous dis quoi :-)
@Jisisv,
Ta commande fonctionne, mais je viens de me rendre compte que je dois sauter une ligne après le Then, sinon ça ne fonctionne pas.
Comme ceci :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
Endif
Je vais chercher de mon côté et je vous dis quoi :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vi :-)
Mon texte actuel :
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Le texte désiré :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Mon texte actuel :
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Le texte désiré :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
$ cat plop
If FileExists (@HomeDrive & "\Cookies\*.*") Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
$ sed '/If .*Then/{ s/Then /\n&/}' plop
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
$
Ah oui quand même... tu m'étonnes que je ne trouvais pas...
Tu peux m'expliquer ce que tu as fais si ça ne te dérange pas parce-que je suis largué...
Merci ;-)
Tu peux m'expliquer ce que tu as fais si ça ne te dérange pas parce-que je suis largué...
Merci ;-)
Pour être plus exact j'aurai du écrire "/^If .*Then /" au lieu de "/If .*Then/"
/^If .*Then/
Si on trouve un motif qui commence (^) par If (suivi d'un espace) puis d'un ou plusieurs caractères, voire d'aucun, suivi ensuite de Then lui même suivi d'un espace, appliquer la ou les commande(s) qui se trouve(nt) entre les accolades
{
Début regroupement de commandes
s/Then /\n&/
On substitue "Then " (et l'espace derrière), par un saut de ligne (\n) et lui même (l'esperluette "&" symbolisant le motif présent dans la partie gauche de l'expression).
}
Fin regroupement de commandes
/^If .*Then/
Si on trouve un motif qui commence (^) par If (suivi d'un espace) puis d'un ou plusieurs caractères, voire d'aucun, suivi ensuite de Then lui même suivi d'un espace, appliquer la ou les commande(s) qui se trouve(nt) entre les accolades
{
Début regroupement de commandes
s/Then /\n&/
On substitue "Then " (et l'espace derrière), par un saut de ligne (\n) et lui même (l'esperluette "&" symbolisant le motif présent dans la partie gauche de l'expression).
}
Fin regroupement de commandes
Ahhh d'accord, merci Zipe :-))
Mais dis moi, lorsque j'ouvre ceci sous Windows (que c'est de la programmation Autoit), il me met ceci :
If FileExists (@HomeDrive & "\Cookies\*.*") 0Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
0 = Un caractère en forme de carré, pour dire que le symbole n'est pas compris par l'éditeur de texte (notepad).
Tandis que sur Debian cela fonctionne très bien
Mais dis moi, lorsque j'ouvre ceci sous Windows (que c'est de la programmation Autoit), il me met ceci :
If FileExists (@HomeDrive & "\Cookies\*.*") 0Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
0 = Un caractère en forme de carré, pour dire que le symbole n'est pas compris par l'éditeur de texte (notepad).
Tandis que sur Debian cela fonctionne très bien
Ceci, c'est le fichier terminé, en l'occurrence :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Mon fichier vient de Gedit, pas de Windows, il a été créé sur ma Debian. J'ai rajouté les "^M", pour qu'il soit lisible sur Windaube.
J'utilise sed sur Debian.
Cat -A ->
If FileExists (@UserProfileDir & "\Local Settings\Temporary Internet Files\Content.IE5\*.*") $ <--
Then FileDelete (@UserProfileDir & "\Local Settings\Temporary Internet Files\Content.IE5\*.*")^M$
Endif^M$
^M$
Pas de ^M, c'est sûrement ça le problème...
Je supprime tous les ^M, et je les rajoute voir si ça passe ;-))
?? Saachaa ?
Contributeur CCM
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Mon fichier vient de Gedit, pas de Windows, il a été créé sur ma Debian. J'ai rajouté les "^M", pour qu'il soit lisible sur Windaube.
J'utilise sed sur Debian.
Cat -A ->
If FileExists (@UserProfileDir & "\Local Settings\Temporary Internet Files\Content.IE5\*.*") $ <--
Then FileDelete (@UserProfileDir & "\Local Settings\Temporary Internet Files\Content.IE5\*.*")^M$
Endif^M$
^M$
Pas de ^M, c'est sûrement ça le problème...
Je supprime tous les ^M, et je les rajoute voir si ça passe ;-))
?? Saachaa ?
Contributeur CCM
Une dernier truc et je clos le sujet :-)
J'ai trop prie l'habitude du shell, et ceci ne passe pas :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Ce qu'il me faudrait, c'est cela :
If FileExists (@HomeDrive & "\Cookies\*.*") Then
FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then
FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Désolé ^^
J'ai trop prie l'habitude du shell, et ceci ne passe pas :
If FileExists (@HomeDrive & "\Cookies\*.*")
Then FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*")
Then FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Ce qu'il me faudrait, c'est cela :
If FileExists (@HomeDrive & "\Cookies\*.*") Then
FileDelete (@HomeDrive & "\Cookies\*.*")
EndIf
If FileExists (@HomeDrive & "\Temp\*.*") Then
FileDelete (@HomeDrive & "\Temp\*.*")
EndIf
(...)
Désolé ^^