Я использую awk для анализа некоторых отфильтрованных данных. Я печатаю все, что соответствует столбцу 2 в file1 с file2, но когда я инвертирую два, я получаю разные результаты (ожидаемые). НО когда я использую
grep -v file3 [содержащий $ 2]
Я не вижу шесть дополнительных значений.
Я пробовал различные итерации NR == FNR, которые я нашел в stackoverflow, и они дают мне те же файлы с 2816 и 2810 строками, но обратный grep, кажется, не решает, что представляют собой шесть дополнительных значений. Из того, что я вижу, все линии равны друг другу, несмотря на 6 дополнительных линий.
awk 'NR==FNR{a[$2];next} ($2) in a 'file2 file1 > temp1
awk 'NR==FNR{a[$2];next} ($2) in a 'file1 file2 > temp2
Количество строк
wc -l temp1; 2816
wc -l temp2; 2810
туалет
166593 999557 6053192 file1
17504 105024 658110 file2