Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/08/2007, à 13:11

neeux

[Bash] Supprimer les lignes contenant un caractère non ASCII?

Bonjour, j'ai un gros fichier texte de 1.1Gio.
Il y a un mot par ligne.
Seulement il y a un certain nombre de lignes qui possèdent des caractères non ASCII.
Existe il une façon simple de supprimer ces lignes.?

Merci smile

Hors ligne

#2 Le 31/08/2007, à 15:11

tshirtman

Re : [Bash] Supprimer les lignes contenant un caractère non ASCII?

Peut être avec un:

egrep [[:alnum:]] fichier

si tous tes autres mots ne contiennent pas d'espaces et autre ponctuations, auquels cas il faudras complexifier l'expression.

man egrep

wink

Hors ligne

#3 Le 31/08/2007, à 16:45

neeux

Re : [Bash] Supprimer les lignes contenant un caractère non ASCII?

Ben justement c'est la grosse blague de cette histoire.
Chaque mot peut avoir des espaces des accents et des cartatères spéciaux...
En fait j'ai des caractères "invalides" (Peut être des mots d'un autres alphabet, je ne sais pas)...

Hors ligne

#4 Le 31/08/2007, à 16:54

tshirtman

Re : [Bash] Supprimer les lignes contenant un caractère non ASCII?

alors soit tu repere un caractere invalide et tu fait un grep -V caractere
et tu recommence pour chaques caractère que tu connais qui pose problème, soit tu agrémente l'expression réglulière pour qu'elle laisse aussi passer les espaces etla ponctuation, ça devrais donner quelque chose du genre

egrep [[:alphanum:][:punct:][:space:]] fichier

tu peut aussi si tes caractères spéciaux ont une forme commune (le même caractère d'échappement au début par exemple) faire ton grep -V sur celle çi.

bonne chance wink

Hors ligne

#5 Le 31/08/2007, à 16:58

Spalax

Re : [Bash] Supprimer les lignes contenant un caractère non ASCII?

Peut-être un problème d'encodage des caractères ?

Si c'est le cas, je ne peux pas t'aider. Je ne suis pas spécialiste en la matière et ce n'est absolument pas dans mes projets de m'y mettre.

Dernière modification par Spalax (Le 14/09/2007, à 21:03)

Hors ligne

#6 Le 03/09/2007, à 13:55

neeux

Re : [Bash] Supprimer les lignes contenant un caractère non ASCII?

Merci de vos réponses.
Alors en fait j'ai simplement mis dans un fichier la liste des caractère autorisé. Et j'ai ensuite demandé de supprimer toutes les lignes où il y a un caractère qui n'était pas dans ce fichier..

Merci

Hors ligne