|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2009 Messages : 12 ![]() |
Bonjour,
j'ai ce script Code :
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 qu'il fait car je débute en shell unix que représente : x[$1]=1 ? merci pour votre aide |
|
|
10
|
|
|
#2 | |
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2006 Messages : 181 ![]() |
Citation:
|
|
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2009 Messages : 12 ![]() |
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 du fichier_2.txt pésentent dans fichier_1.txt et le reste il le met dans "result_2" Mais j'ai du mal à comprendre comment il fonctionne pour faire cette séparation. |
|
|
10
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 967 ![]() |
Ce n'est pas du awk de débutant.
Voici comment comprendre le code: Si le fichier traité est fichier_1.txt, mettre dans un tableau associatif le premier mot de chacune des lignes. Sinon (traitement du fichier_2.txt), mettre dans result_1 les lignes de fichier_2.txt dont la valeur de la première colonne est aussi présente dans le tableau précédemment crée, c'est à dire dont la première colonne existe dans fichier_1.txt, dans le cas contraire (la première colonne contient une valeur absente de fichier_1.txt), mettre la ligne dans result_2.
__________________
ɹǝsn *sıɹɐlos* |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com