Remplacer en saut de ligne par un caractère
Résolu/Fermé
Utilisateur anonyme
-
Modifié par Saachaa le 21/12/2011 à 13:09
Utilisateur anonyme - 21 déc. 2011 à 15:40
Utilisateur anonyme - 21 déc. 2011 à 15:40
A voir également:
- Remplacer en saut de ligne par un caractère
- Caractère ascii - Guide
- Remplacer disque dur par ssd - Guide
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Caractere speciaux - Guide
8 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 13:18
21 déc. 2011 à 13:18
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 $
;-))
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
Modifié par jisisv le 21/12/2011 à 13:30
Modifié par jisisv le 21/12/2011 à 13:30
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)
Utilisateur anonyme
21 déc. 2011 à 13:24
21 déc. 2011 à 13:24
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 :-)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 13:29
21 déc. 2011 à 13:29
/^$/!
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 ;-(
Utilisateur anonyme
21 déc. 2011 à 14:29
21 déc. 2011 à 14:29
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 :-)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 14:37
21 déc. 2011 à 14:37
Montre ton texte de départ et ce que tu veux vraiment à la sortie...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
21 déc. 2011 à 14:39
21 déc. 2011 à 14:39
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
(...)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 14:46
21 déc. 2011 à 14:46
$ 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 (...) $
Utilisateur anonyme
21 déc. 2011 à 14:47
21 déc. 2011 à 14:47
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 ;-)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 14:55
21 déc. 2011 à 14:55
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 15:08
21 déc. 2011 à 15:08
Sûrement un problème d'encodage ;-(
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 15:13
21 déc. 2011 à 15:13
Mais dis moi, lorsque j'ouvre ceci sous Windows
C'est quoi ceci ??
Ton fichier il vient d'où ? Windows ou Linux ?
Tu utilises "sed" sous Windows ou Linux ?
Peux-tu identifier ce caractère via un éditeur hexadécimal ou à défaut via "cat -A" ou "sed -n l" ?
C'est quoi ceci ??
Ton fichier il vient d'où ? Windows ou Linux ?
Tu utilises "sed" sous Windows ou Linux ?
Peux-tu identifier ce caractère via un éditeur hexadécimal ou à défaut via "cat -A" ou "sed -n l" ?
Utilisateur anonyme
Modifié par Saachaa le 21/12/2011 à 15:19
Modifié par Saachaa le 21/12/2011 à 15:19
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 15:25
21 déc. 2011 à 15:25
If FileExists (@UserProfileDir & "\Local Settings\Temporary Internet Files\Content.IE5\*.*") $ <--
Ça donne quoi vu depuis un éditeur hexadécimal (hexdump -C fichier) ?
Ça donne quoi vu depuis un éditeur hexadécimal (hexdump -C fichier) ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
21 déc. 2011 à 15:38
21 déc. 2011 à 15:38
hexdump -C fichier ou od -cx fichier
Utilisateur anonyme
21 déc. 2011 à 15:36
21 déc. 2011 à 15:36
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é ^^
21 déc. 2011 à 13:21