A voir également:
- Comparer 2 colonnes de 2 tableaux
- Word 2 colonnes - Guide
- Word numéro de page 1/2 - Guide
- 2 ecran pc - Guide
- Fusionner 2 tableaux excel - Guide
- Fusionner 2 colonnes excel - Guide
3 réponses
UnGnU
Messages postés
1158
Date d'inscription
lundi 2 mai 2016
Statut
Contributeur
Dernière intervention
22 décembre 2020
157
9 nov. 2017 à 11:52
9 nov. 2017 à 11:52
Salut,
Voir avec la commande join :
Voir avec la commande join :
$ cat fichA
51010;98110
52500;98230
52503;98150
53800;97998
57900;97450
58450;97520
58900;98751
59120;94573
$ cat fichB
52500;LUPIN Arsene
53800;COLUMBO Raphael
57900;BAUER Jack
58450;GYVER Mac
58900;SMITH Hannibal
$ join -t ';' -1 1 -2 1 -o 1.1,1.2 fichB fichA
52500;LUPIN Arsene
53800;COLUMBO Raphael
57900;BAUER Jack
58450;GYVER Mac
58900;SMITH Hannibal
$ join -t ';' -v 2 -1 1 -2 1 fichB fichA
51010;98110
52503;98150
59120;94573
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
10 nov. 2017 à 12:15
10 nov. 2017 à 12:15
hello
essayer
pour toutes les lignes qiui commencentt par $VAR
agents présents dans Listing mais absents de Index
agents présents dans Index mais absents de Listing
même code, mas l'ordre des fichiers change
essayer
pour toutes les lignes qiui commencentt par $VAR
agents présents dans Listing mais absents de Index
$ VAR=510; awk -F ";" -v v=$VAR '$1 !~ "^" v {next} NR==FNR {t[$1]=$0; next} !t[$1] {print $0}' Index Listing
agents présents dans Index mais absents de Listing
$ VAR=510; awk -F ";" -v v=$VAR '$1 !~ "^" v {next} NR==FNR {t[$1]=$0; next} !t[$1] {print $0}' Listing Index
même code, mas l'ordre des fichiers change
Merci dub pour ta réponse.
En fait, juste avant que tu répondes, j'avais trouvé ceci, cela semble être OK.
Pour l'une de requetes, je devais afficher l'identifiant A + Nom de l'user.
et pour la seconde requête, afficher uniquement l'identifiant A et B.
Merci
En fait, juste avant que tu répondes, j'avais trouvé ceci, cela semble être OK.
Pour l'une de requetes, je devais afficher l'identifiant A + Nom de l'user.
et pour la seconde requête, afficher uniquement l'identifiant A et B.
args="$*"
awk -vSRV="${args// /|^}" -F\; '
$1 ~ "^"SRV {A[$1]=A[$1]";"$2}
END{
print "Liste des agents présents dans index mais absents de listing:"
for (i in A){
$0=i A[i]
if(NF==2){
if($2 ~ /^[0-9]*$/){
}
else{
B[$1]=$0
}
}
}
print "Liste des agents présents dans listing mais absent de index:"
for (i in B){
print B[i]
}
}' index listing
Merci
9 nov. 2017 à 13:00
Merci UnGnU pour ta réponse. En fait, ton deuxième join correspondrait à la demande 2 mais le premier "join" ne semble pas OK car il affiche les utilisateurs qui sont pourtant bien présents dans le premier fichier (index). Néanmoins, en cherchant ds les paramètres de join, je vais bien trouver.
Néanmoins pour mon "EDIT", à savoir filtrer les réponses en tenant compte de l'argument saisi (3 premiers caractères), je ne peux pas coller dans mon join un egrep "^argument sur 3 caractères" pour filtrer l'affichage ? Faut le faire en deux temps ?
Sinon il y a certainement moyen avec un awk...encore faut il le trouver.
9 nov. 2017 à 13:20
Reste plus qu'à attendre le passage du spécialiste, le bien nommé dubcek.
9 nov. 2017 à 14:20
j'utilise un join que je renvoie vers un fichier tempo 1.
Ensuite je filtre ce dernier par un egrep....
mais bon c vrai que ca serait mieux avec un awk!