Regex

Résolu
tht123 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
tht123 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
Hello,

Je me demande si avec les REGEX, il est possible afin de remplacer ou effacer du texte dans une ligne compris entre position n°6 jusque position 18 dans une ligne

Exemple:

Essai d'effacement avec les regex

Après traitement:

Essai avec les regex



Je pense utiliser sed :

soit :

s/REGEX//
ou
/regex/d

Suis-je dans le rêve ou est ce faisable??

Bonne nuit

6 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

$ echo "Essai d'effacement avec les regex" | sed  -r "s/d[\']\w+\s//"
Essai avec les regex

regarde ici sed substitution
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
$ echo "Essai d'effacement avec les regex" | sed  -r "s/(.{6}).{13}(.*)/\1\2/"
Essai avec les regex

0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Bonsoir,

Comme l'a démontré lami, c'est possible avec sed, mais une autre solution plus direct existe...
PBG4:~ adrien$ cat test
Essai d'effacement avec les regex
Essai d'effacement avec les regex
Essai d'effacement avec les regex
PBG4:~ adrien$ cat test |cut -c 1-5,19-
Essai avec les regex
Essai avec les regex
Essai avec les regex
Voir man cut.
Le -c permet de spécifier que l'on va couper des caractères, ensuite, il ne reste plus qu'à lui dire quelle portion l'on souhaite afficher.
du premier au 5 puis du 19 à la fin :)


0
tht123 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
 
Merci!!

Tiens mais avec sed si je veux rediriger vers un autre fichier :

sed -r "s/(.{6}).{13}(.*)/\1\2/" file1.txt>file2.txt

avec cat comment peut on faire, de plus le | c'est une fonction logique??

BAT
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

avec cat comment peut on faire
Comme avec "sed" :
cat fichier | cut -c ... > nouveau_fichier
de plus le | c'est une fonction logique??
Non, tu confonds avec "||" qui lui est une fonction logique (OU).

;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

j'ai pensé à cut mais tu as demandé regex :-))
lami20j@debian:~$ echo "Essai d'effacement avec les regex" | cut -c1-5,19- > fichier
lami20j@debian:~$ cat fichier
Essai avec les regex

de plus le | c'est une fonction logique?

regarde ici guide d utilisation du shell pour debutant#xxx les redirections et les pipelines


0
tht123 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
 
hELLO.

Merci et bravo pour le tuto!!!

Bonne matinée!!

BAV tous
0