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

Есть ли простой способ проверить, существуют ли во втором столбце файла (файл 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 

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

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 
  • Использовать awk, чтобы найти первое вхождение
  • Попытка использовать awk для создания ls show non-directories
  • как печатать ближайший столбец при поиске определенных строк
  • Заполните пустые строки в определенном столбце значениями
  • лучший способ разделить огромные файлы на основе поля, когда awk слишком медленный
  • Дублирование строковой переменной в awk
  • поиск строк в шаблонах сопоставления файлов, определенных в другом файле
  • Как работают несколько блоков в AWK?
  • Арифметика по переменной, содержащей ip-адрес
  • Расположение и содержимое выходного файла на основе списка файлов
  • Как удалить текст из строки после определенного символа с помощью awk
  • Interesting Posts

    Каков хороший способ отладки проблем при пересылке X через ssh, где некоторые приложения не будут запускаться?

    OpenBSD не может найти имена хостов

    Подключение к файловым системам сетевых компьютеров

    распечатать все значения файла после удаления некоторых символов с помощью grep

    обмена или синхронизации истории между Zsh и Bash

    Ошибка Bashrc PS1

    Проблема Gmond в ганглиях

    Извлечение столбца из текста, разделенного запятыми.

    udev .rules не работает скрипт

    Mac OS X, как проверить определенные пакеты, установлены

    Использовать sudo с командой ssh ​​и захватом stdout

    Установите по умолчанию режим vi-mode Bash в «обычный» режим Vi (не «вставить») и поместите курсор в начало строки, подражая KornShell

    Найти имена репозиториев из гитолитного информационного вывода

    Почему я не могу использовать аутентификацию открытого / закрытого ключа с помощью ssh в Arch Linux?

    Сортировка в Linux для столбца, сохраняя другие значения неповрежденными

    Linux и Unix - лучшая ОС в мире.