Supprimer les espaces d'un fichier [resolu] [shell] - Linux et OS Alternatifs
Marsh Posté le 01-04-2004 à 20:58:23
Voila ce que je fais en detail :
20:50 root@Moork # echo loli > test
20:50 root@Moork # echo 'loli' >> test
20:50 root@Moork # echo 'lol i' >> test
20:51 root@Moork # echo 'loli ' >> test
20:51 root@Moork # cat test
loli
loli
lol i
loli
Jusque la ok.
20:51 root@Moork # cat test| tr -d ' ' | uniq
loli
Génial, me dis-je.
Puis sur mon fichier :
20:53 root@Moork # cat Pluri.temp | tr -d ' ' | uniq > final
Une petite vérif:
20:54 root@Moork # fgrep julienne final
alajulienne
julienne
julienne
julienned
juliennes
potagealajulienne
Mais pourquoi il y a des lignes identiques ??? J'ai essayé avec sort-u, pareil? Je suppose que ce sont des espaces en fin de ligne mais pourquoi avec le fichier de test ca marche ?? Je craque
Marsh Posté le 02-04-2004 à 05:57:24
Je suppose évidemment que tu as lu la première ligne du man de uniq :
uniq - remove duplicate lines from a sorted file |
Marsh Posté le 02-04-2004 à 10:08:35
Le fichier a été trié par ordre alphabétique avant.
Si je fais quand meme avec un sort :
Code :
|
Ce sont peut-etre pas des espaces alors
Marsh Posté le 02-04-2004 à 10:11:47
Arg ce sont pas des espaces mais des '^M'. (merci cat -vET).
Du coup un petit cat -v | tr -d '^M' après avoir supprimé les espaces a fini le boulot.
Merci
Marsh Posté le 01-04-2004 à 20:35:13
Bon, soit un fichier de quelques millions de lignes.
Je veux le supprimer les espaces et les chiffres de chaque ligne, puis trier par ordre alphabétique et enlever les doublons.
Je commence par
pour enlever les chiffres.
Je veux ensuite virer tous les espaces (surtout ceux en fin de ligne).
Je tente des
et rien ne marche jamais. Je craque. Je suis sous zsh, ca explique peut etre que la syntaxe soit pas la bonne, mais je trouve pas.
A vot' bon coeur...
edit: c'est ptet pas clair, mais c'est pour les espaces que ca marche pas, pour les chiffres pas de problèmes.
Message édité par AirbaT le 02-04-2004 à 10:29:33