Suppression chaine de caractère
Résolu
bkrqpzef
Messages postés
197
Date d'inscription
Statut
Membre
Dernière intervention
-
bkrqpzef Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
bkrqpzef Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un petit fichier txt que je voudrai modifier. Il est de la forme :
.maison=bateau
.avion=chateau
etc ...
J'aimerai transformer ça en supprimant tout ce qui suit le "=". c'est à dire :
.maison=
.avion=
etc ...
Bon sur le papier ça n'est pas très compliqué, le problème c'est que la liste est longue et que je ne peux pas supprimer ça manuellement. J'ai tenté d'utiliser : (avec Cygwin)
sed -e "s/=*\\n/=\\n/g" fichier.txt > fichier2.txt
Et d'autres choses, mais rien ne fonctionne correctement. Si vous avez des idées je suis preneur.
Merci à vous !!!!
J'ai un petit fichier txt que je voudrai modifier. Il est de la forme :
.maison=bateau
.avion=chateau
etc ...
J'aimerai transformer ça en supprimant tout ce qui suit le "=". c'est à dire :
.maison=
.avion=
etc ...
Bon sur le papier ça n'est pas très compliqué, le problème c'est que la liste est longue et que je ne peux pas supprimer ça manuellement. J'ai tenté d'utiliser : (avec Cygwin)
sed -e "s/=*\\n/=\\n/g" fichier.txt > fichier2.txt
Et d'autres choses, mais rien ne fonctionne correctement. Si vous avez des idées je suis preneur.
Merci à vous !!!!
A voir également:
- Suppression chaine de caractère
- Caractère ascii - Guide
- Forcer suppression fichier - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
4 réponses
OK ................
et le pire c'est que ça fonctionne. Merci !!
Alors je dois avoir le cerveau en compote là. Je ne comprend pas pourquoi mettre "=.*" alors que la chaine de caractère est justement entre le "=" et le ".".
Suis-je fou ?
et le pire c'est que ça fonctionne. Merci !!
Alors je dois avoir le cerveau en compote là. Je ne comprend pas pourquoi mettre "=.*" alors que la chaine de caractère est justement entre le "=" et le ".".
Suis-je fou ?
Ok si j'ai bien compris le "." de ".*" n'a rien à voir avec le "." qui est au début de chaque ligne.
Je ne peux pas utiliser "*" sans mettre un "." devant ?
Pour :
maison=bateau
avion=chateau
etc ..
(sans le "." au début de ligne)
Je devrai aussi utiliser sed 's/=.*/=/' ?
Je ne peux pas utiliser "*" sans mettre un "." devant ?
Pour :
maison=bateau
avion=chateau
etc ..
(sans le "." au début de ligne)
Je devrai aussi utiliser sed 's/=.*/=/' ?
Ok si j'ai bien compris le "." de ".*" n'a rien à voir avec le "." qui est au début de chaque ligne.
Exact. Le point est en fait un caractère qui sert dans les expressions régulières et représente n'importe quel caractère.
Je ne peux pas utiliser "*" sans mettre un "." devant ?
Si mais dans ce cas là ça ne veut pas dire la même chose. Si tu écris =* sed (ou autre) recherchera qu'un caractère représentant le signe égal ou plusieurs, voir même aucun. Alors que l'expression =.* recherchera un signe égal suivit éventuellement d'un ou plusieurs caractères quelconque y compris aucun.
Exact. Le point est en fait un caractère qui sert dans les expressions régulières et représente n'importe quel caractère.
Je ne peux pas utiliser "*" sans mettre un "." devant ?
Si mais dans ce cas là ça ne veut pas dire la même chose. Si tu écris =* sed (ou autre) recherchera qu'un caractère représentant le signe égal ou plusieurs, voir même aucun. Alors que l'expression =.* recherchera un signe égal suivit éventuellement d'un ou plusieurs caractères quelconque y compris aucun.