Найти строки в файле1, количество экземпляров в файле2

У меня есть file1.txt со строковыми значениями, такими как

 New Drug Application Drug Product Dosing instructions 

Мне нужно подсчитать, как часто эти строки встречаются в file2.txt с такими данными, как

 Regulatory New Drug Application for Drug Product after testing of Dosing instructions for all new studies. 

Команды, которые я использовал;

 foreach string ( `cat terms.txt` ) foreach? echo $string >>out.txt foreach? grep $string data.txt | wc >>out.txt end 

out.txt не вернет полную строку с пробелами. Вместо этого он возвращает данные, такие как:

 The -1 New -2 Application -1 etc. 

Я попытался добавить котировки и косые черты в условия в моих файлах данных, egrep , fgrep – безрезультатно. Как получить данные из этих двух файлов?

3 Solutions collect form web for “Найти строки в файле1, количество экземпляров в файле2”

Попробуйте это вместо этого:

 fgrep -of file1.txt file2.txt | sort | uniq -c 

Остерегайтесь, что это только найдет точные фразы. Если интервал отличается, он не найдет их.

Вероятно, вы могли бы использовать IFS (Internal Field Separator) и присвоить ему $ '\ n', что означает, что только новые строки являются допустимым разделителем. Кроме того, чтобы обнаружить множественные вхождения одного и того же ключа в контенте, мы можем использовать параметр grep -o. Пример сценария bash может выглядеть следующим образом:

 IFS=$'\n' for string in `cat key.txt` do $string >> out.txt grep -o $string content.txt | wc -l >> out.txt done 

Вам нужно grep всю строку. Это можно сделать следующим образом:

  x=1 len=$(wc -l file1.txt | awk '{print $1}') while [ $x -le $len ] do #pat=$(head -$x file1.txt | tail -1) << slow hence changed pat=$(sed "${x}q;d" $1) #cnt=$(grep -c "$pat" file2.txt) < Edited to count all matches cnt=$(grep -o "$pat" file2.txt| wc -l | awk '{print $1}') echo "$pat $cnt" x=$(expr $x + 1) done 

EDITED: для ускорения и подсчета множественных событий в одной строке

  • Условие оболочки C Shell, если строка содержит символ новой строки
  • Как я могу сделать графический график последовательности чисел из стандартного ввода?
  • Очистка эксплойтов PHP от зараженных файлов с помощью sed
  • Как закодировать функцию чтения в Bash Script?
  • как извлечь часть имени файла перед '.' или до расширения
  • Как я могу выбрать начальную ... конечную часть строки с разделителем «/» (подсказка PS1 в моем случае)
  • Как добавить соответствующее количество 0 в числа, содержащиеся в именах изображений?
  • Дополнительное пространство с подсчитанным номером строки?
  • Имя переменной из вывода команды
  • Согласование шаблонов и удаление этого шаблона с помощью sed
  • разделенная строка при первом вводе разделителя
  • Interesting Posts

    Помогите обновить OpenSSH до версии 6.6

    Как я могу перевести эти инструкции по настройке клиента OpenVPN для работы с Fedora 20?

    Подключить текущий MAC-адрес к известному адресу, чтобы обмануть маршрутизатор и устройство регистрации

    Ошибка MPI mpdboot

    Виджет регулировки громкости, который может управлять USB-микрофоном

    systemd: network-online.target достигается до network.target

    Подключение к локальному хосту через системный IP-адрес

    новый диск в Vm показывает как ata2

    Могу ли я использовать функцию sudoers без включения бита suid?

    Исправлена ​​диакритика в дампе mysql на CentOS

    Shell Script считывает метаданные файла, а затем mv каждый в новый каталог

    / boot symlinks не соответствуют текущей версии ядра

    Структура дерева каталогов rsync с ограниченной глубиной и исключение определенных папок

    Предотвращение bash $ PS4 от повторения первого символа

    правильный способ перезаписать модули ядра debian

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