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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Traitement de fichier avec AWK

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Traitement de fichier avec AWK

n°2099886
sanchese
Posté le 06-09-2011 à 16:04:53  profilanswer
 

Bonjour,  
 
j'ai ce script  
 
nawk -F " " 'FILENAME==ARGV[1]{x[$1]=1; next} x[$1]{OFS = " " ;print $0 > "result_1"} !x[$1]{OFS = " " ;print $0 > "result_2" } ' fichier_1.txt fichier_2.txt
 
 
quelqu'un peut il s'il vous plait m'expliquer ce que fait ce code?
 
 
que représente : x[$1]=1 ?
 
merci de votre aide  

mood
Publicité
Posté le 06-09-2011 à 16:04:53  profilanswer
 

n°2099905
olivthill
Posté le 06-09-2011 à 17:17:31  profilanswer
 

Le séparateur de champ en entrée est l'espace car on a -F " "
Le séparateur de champ en sortie est l'espace car on a OFS = " " (mais ce n'est pas très utile dans ce programme).
$1 est le premier champ de la ligne en cours.
x[] est un tableau
x[$1] = 1 met le chiffre 1 dans un élément du tableau.
 
Ce nawk va traiter deux fichiers : fichier_1.txt et fichier_2.txt
Le code teste le nom du fichier en cours (FILENAME) en le comparant avec le nom du fichier en paramètre.
Si le fichier en cours de lecture est le premier alors on écrit la ligne dans le fichier result_1, sinon on l'écrit dans result_2.
 
En fait, s'il n'y a pas d'autres lignes dans ce awk, alors il semble qu'il soit équivalent à

cp fichier_1.txt result_1
cp fichier_2.txt result_2

n°2099960
sanchese
Posté le 06-09-2011 à 20:11:57  profilanswer
 

Bonjour olivthill
 
En fait ce qu'on m' a expliqué c'est que ce code sépare les lignes du fichier_2.txt.  
 
il va mettre dans "result_1" les lignes de fichier_2.txt pésentent dans fichier_1.txt et le reste il le mettra dans "result_2"
 
Mais je ne comprends pas comment il fonctionne pour faire cette séparation.
 
 
 
Merci


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

  Traitement de fichier avec AWK

 

Sujets relatifs
Demande d'aide : Manipulation de fichier texte en .csv[VB] Modifier un fichier XML
VBA - Gestion de la fenêtre windows "Téléchargement de fichier"un fichier PDF qui s'ouvrirait dans une nouvelle fenêtre (pop up)
C++ Fermer l'execution d'un fichier.Mise en page d'après une fichier de données
[Ajax] problème d'appel à un fichier php[C++] Extraire images d'un fichier mxf avec Mxflib
[awk/sed] Traitement du fichier de stats boinc... 
Plus de sujets relatifs à : Traitement de fichier avec AWK


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