Quand je fais produit croisé des enregistrements dans fichier.txt> file2.txt en utilisant la commande:Retirez les enregistrements avec les mêmes valeurs de produit croisé dans AWK
join file1.txt{,} -j999 > file2.txt
Je reçois chaque enregistrement file1.txt avec tous les enregistrements file1.txt tels que:
ensemble de donnéesexemple
r1
r2
r3
Je reçois
r1 r1
r1 r2
r1 r3
r2 r1
r2 r2
r2 r3
r3 r1
r3 r2
r3 r3
Je ne veux pas r1 r1, r2 r2, dossiers et ainsi de suite ...
Si son droit possible tout en faisant multiproduits, comment puis-je obtenir les résultats escomptés? sinon, Comment puis-je supprimer les enregistrements après traitement joindre file1.txt {,} -j 999
J'ai essayé avec une autre commande awk:
if($i!=$(i+12)){print $0;} and
if($1!=$13){print $0;}
Parce que je le numéro de série de chaque fiche 1, 2,3, ... J'ai fILE2.TXT comme:
c1 c13 --> column 1 and column 13
1 1
1 2
1 3
1 4
2 1
2 2
2 3
2 4
3 1
3 2
3 3
3 4
Je compare simplement les numéros de série et si elles ne sont pas égaux imprimer ces documents. mais j'obtenir des résultats indésirables, tels que:
1 2
1 3
1 4
2 3
2 4
3 4
Vous pouvez le voir saute tous les enregistrements avant 1 $ = 13 $!. donc il y a des lignes manquantes comme:
2 1
3 1
3 2
il ne doit ignorer les enregistrements qui sont dans le modèle r1 r1, r2 r2, ...
Mise à jour
1er et 13 col est un numéro de série.
S'il vous plaît mettre à jour montrant une [mcve] - et avec le texte, pas une image. Sinon, il est difficile de travailler sur la solution. – fedorqui