Traitement de fichier avec AWK - Shell/Batch - Programmation

Marsh Posté le 06-09-2011 à 16:04:53   

Reply

Marsh Posté le 06-09-2011 à 17:17:31    

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

Reply

Marsh Posté le 06-09-2011 à 20:11:57    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed