Programme qui ne laisse qu'un seul mot par ligne
Résolu artagon7 Messages postés 417 Date d'inscription Statut Membre Dernière intervention -
[Dal] Messages postés 6204 Date d'inscription Statut Contributeur Dernière intervention - 11 déc. 2019 à 19:14
[Dal] Messages postés 6204 Date d'inscription Statut Contributeur Dernière intervention - 11 déc. 2019 à 19:14
A voir également:
- Programme qui ne laisse qu'un seul mot par ligne
- Partager photos en ligne - Guide
- Trousseau mot de e iphone - Guide
- Mot de e - Guide
- Aller à la ligne excel - Guide
- Mètre en ligne - Guide
1 réponse
Bonjour artagon7,
Pour chaque ligne, la regexp
Les caractères "blancs" sont non seulement les espaces, mais aussi les tabulations et retours à la ligne.
Donc pour générer le fichier de sortie, tu enverras vers le fichier modifié
Si tu es sous Linux, au lieu de faire cela avec Perl, tu peux faire aussi cela en ligne de commande avec GNU
Autrement, personnellement, je fais ce genre de manipulations avec l'éditeur
Dal
Pour chaque ligne, la regexp
/^([^\s]+)/va capturer en
$1:
- à partir du début de la ligne
- un ou plusieurs caractères
- jusqu'à ce qu'elle rencontre un caractère "blanc" (non inclus)
Les caractères "blancs" sont non seulement les espaces, mais aussi les tabulations et retours à la ligne.
Donc pour générer le fichier de sortie, tu enverras vers le fichier modifié
"$1\n"pour rajouter le retour à la ligne, puisqu'il ne sera pas capturé par la regexp.
Si tu es sous Linux, au lieu de faire cela avec Perl, tu peux faire aussi cela en ligne de commande avec GNU
sedet l'option
-ipour modifier le fichier "sur place" ("i" pour "in place") sans avoir à créer un fichier temporaire.
Autrement, personnellement, je fais ce genre de manipulations avec l'éditeur
vimquant il n'y a pas trop de fichiers à traiter.
Dal
Je vais écrire quelque chose avec ce que tu as expliqué.
J'ai écrit le programme Perl ci-dessous et ça a fonctionné.
Je préfère l'écrire en Perl car dans mon vrai programme, il y aura ouverture de plusieurs fichiers pour une seule exécution du programme.
Quand je vais avoir du temps, je vais essayer avec sed. Je suis curieux de voir la procédure. J'ai déjà utilisé sed dans le é.
Merci beaucoup