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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  des remplacements dans des fichiers unix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

des remplacements dans des fichiers unix

n°1678860
richard3
Posté le 30-01-2008 à 07:55:25  profilanswer
 

Bonjour,
Je dois effacer des nombres dans 86 fichiers .lst (c'est à dire texte). J'ai 106 nombres à effacer avec un script shell unix.
Par exemple , l'un des 86 fichiers contient:
35
56
89
25469
30258
26255
.......
et je dois effacer 56 et 89 et 26255, qui sont dans mon fichier des nombres à effacer.
Je vois bien qu'il faut faire deux boucles imbriquées mais je suis null en shell. Si quelqu'un pouvait m'aiguiller?
Merci.

mood
Publicité
Posté le 30-01-2008 à 07:55:25  profilanswer
 

n°1678926
matafan
Posté le 30-01-2008 à 11:09:25  profilanswer
 

Par exemple :

awk 'BEGIN { x[56]; x[89]; x[26255] } { if (!($0 in x)) print }'


Le bloc BEGIN définit un hash dont les clées sont les nombres à éliminer. Par chaque ligne, on affiche la ligne seulement si elle n'est pas dans le hash.

n°1679036
olivthill
Posté le 30-01-2008 à 13:50:50  profilanswer
 

Ou bien avec

grep -v ^56 fic_in | grep -v ^89 |grep -v ^26255 >fic_out

L'option -v retient toutes les lignes sauf celles qui contiennent la chaine recherchée. Cette dernière commence par un accent circonflexe pour indiqué que le pattern se trouve en début de ligne.


Message édité par olivthill le 30-01-2008 à 13:51:50
n°1679663
richard3
Posté le 31-01-2008 à 13:47:19  profilanswer
 

OK merci. ça marche.:)

n°1680045
aigles
Posté le 31-01-2008 à 18:50:22  profilanswer
 

Une autre solution inspirée de celle de matafan

awk 'NR==FNR {ex[$0]++; next} !ex[$0]' exlude.dat file_in > file_out


Le fichier exclude.dat contient la liste des nombres à ignorer.
 
Jean-Pierre.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  des remplacements dans des fichiers unix

 

Sujets relatifs
sauvegarder des feuilles dans des fichiers différentsles fichiers
[C++] Transfert de fichiersCode Javascript pour appeler des fichiers dans une autre fenetre
[C Unix] Ecrire dans un fichier...RLE et fichiers textes
[C] probleme de fichiersFaire une redirection d'url.
aide creation script batch rennomage de fichiersOrganisation des fichiers pour de la POO
Plus de sujets relatifs à : des remplacements dans des fichiers unix


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR