Supprimer mots fichier txt

Résolu
cs_simoi
Messages postés
87
Date d'inscription
samedi 1 janvier 2005
Statut
Membre
Dernière intervention
19 juillet 2008
- 22 févr. 2007 à 16:33
RCA ArKanis
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
- 24 févr. 2007 à 11:04
bjr
j'ai un fichier (doc.txt) c un dico de mots
un mot par lignes
je voudrai soit :
 extraire en alias uniquement les mots qui dépassent pas un certain nombre de lettres (modifiable suivant ma volonté).
sinon supprimé tout les mots de plus de 10 lettres.
ou empecher ($read(doc.txt) (d'extraire les mots qui dépassent pas un certain nombre de lettres (modifiable.
merci
c pour un ptit jeu perso

1 réponse

RCA ArKanis
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

24 févr. 2007 à 11:04
dans les deux cas, tu peux utiliser une boucle (while)
sinon, tu peux aussi utiliser /filter

pour le premier :
alias maxlettres if ($1 isnum 1-) filter -cgff "doc.txt" "resultat.txt" $+(^.,$chr(123),1,$chr(44),$1,$chr(125),$)
Exemple : maxlettres 10
pour n'avoir que 10 lettres (caractères en fait, tu me dis si tu veux que des lettres)

pour le deuxième (attention, ça supprimera des mots de ton fichier doc.txt, je sais pas si c'est ça que tu as demandé, mais j'ai quand même fait une sauvegarde)
alias deletemaxlettres {
  if ($1 !isnum 1-) return
  maxlettres $1
  .copy -o doc.txt $+(Save-Doc,$asctime(HH-nn:ss),.txt)
  .copy -o resultat.txt doc.txt
}
Exemple : /deletemaxlettres 10

pour le dernier :
alias readmaxlettres {
  if ($1 !isnum 1-) return
  maxlettres $1
  return $read(resultat.txt)
}
Exemple : $readmaxlettres(10)
3