Проверка значений в текстовом файле

Есть ли простой способ проверить, существуют ли во втором столбце файла (файл 2) значения во втором столбце другого файла (файл 1), например, путем печати звезды рядом с соответствующей линией? Если возможно, используйте awk.

Файл 1

A 1,2,3,4 B 15,16,17 

Файл 2

 A 3 B 18 

Ожидаемый результат: Файл 3

 A 1,2,3,4 * B 15,16,17 

EDIT Что делать, если файл 2 выглядит так:

 A 3,8 B 18,19 

но ожидаемый результат остается прежним?

  • Awk Использование NR для вывода номера итерации
  • Отфильтровать файл журнала по месяцам, дате и времени в bash
  • Выполните вывод parse ls с помощью sed, чтобы получить расположение файлов файлов с определенными именами
  • awk - объединить два фильтра в один
  • Переиндексация большого файла CSV
  • я хочу напечатать строку, которая начинается с словесного слова, а в остальных записях печатается только одно поле
  • Awk для удаления строки, если аргумент встречается в определенном столбце
  • Проблема в разделении строки с помощью команды awk или cut
  • One Solution collect form web for “Проверка значений в текстовом файле”

    Попробуй это:

     $ awk ' FNR == NR { a[$1] = $2;next } { split(a[$1],b,","); for (i in b) { if ($2 == b[i]) { printf("%s %s\t*\n",$1,a[$1]); next; } } print $1,a[$1]; } ' file1 file2 A 1,2,3,4 * B 15,16,17 

    Обновить

    С помощью нового входа попробуйте:

     $ awk ' FNR == NR { a[$1] = $2; next; } { split($2,b,","); split(a[$1],c,","); for (i in b) { if (b[i] in c) { printf("%s %s\t*\n",$1,a[$1]);next; }} print $1, a[$1]; } ' file1 file2 
    Interesting Posts
    Linux и Unix - лучшая ОС в мире.