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
Rejoignez-nous