J'ai deux fichiers .....dernière ligne de plusieurs enregistrements correspondants - Git Bash
Un fichier contient des enregistrements:
123
456
789
abc
def
ghi
Second fichier contient des enregistrements:
123,a
123,b
456,a
456,b
789,a
789,b
abc,1
abc,2
def,1
def,2
ghi,1
ghi,2
Essayer de faire une commande grep et tail qui renverrait la dernière ligne d'une chaîne correspondante dans le fichier 2 afin que le fichier de sortie renvoie les éléments suivants:
123,b
456,b
789,b
abc,2
def,2
ghi,2
a essayé d'utiliser ce qui suit, mais il renvoie simplement la dernière ligne du dernier enregistrement correspondant:
grep -f file1.txt file2.txt | tail -1 > output.txt
Golf: 'awk -F, « NR == FNR {a [$ 1] = 1; next} a [$ 1] {b [$ 1] = $ 2} END {pour (i en b) imprimer i FS b [i]} '' –
@GeorgeVasiliou, je dirais que c'était un peu plus court, mais pas plus rapide – RomanPerekhrest