Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2016 connectés 

 


Dernière réponse
Sujet : [shell] Supprimer les espaces d'un fichier [resolu]
Taz man flip

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Taz man flip
AirbaT 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
AirbaT Le fichier a été trié par ordre alphabétique avant.
 
Si je fais quand meme avec un sort :

Code :
  1. 9:57 root@Moork # cat fichier | tr -d ' ' | sort | uniq > final
  2. 9:57 root@Moork # fgrep julienne final
  3. alajulienne
  4. julienne
  5. julienne
  6. julienned
  7. juliennes
  8. potagealajulienne


 
Ce sont peut-etre pas des espaces alors :??:

Taz donc tu rajoutes un sort |
matafan Je suppose évidemment que tu as lu la première ligne du man de uniq :

uniq - remove duplicate lines from a sorted file
                                     ^^^^^^

AirbaT Bon bah vais aller me bourrer la gueule alors, na !
AirbaT


 
Je vois pas là où je merde.

AirbaT 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  :sweat:  
 
 
 
Taz man tr
AirbaT En fait non... a marche po
g bien fait de pas commencer :D
AirbaT Arrétez tout ca marche...
AirbaT 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  

Code :
  1. cat fichier | grep -v 0 | ... grep -v 9 > fic.temp

pour enlever les chiffres.
 
Je veux ensuite virer tous les espaces (surtout ceux en fin de ligne).
 
Je tente des

Code :
  1. sed -e "s/\ //g" fichier puis, avec tr

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.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)