Кто-нибудь может предложить некоторую помощь, чтобы этот AWK правильно искал?
Мне нужно найти в файле "sample.txt" все 6 элементов массива в файле "комбинаций". Тем не менее, мне нужно, чтобы поиск происходил по каждому отдельному символу, а не по типу обычного поиска в текстовом редакторе, который выполняет поиск по блокам после каждого вхождения. Мне нужно искать в наиболее сжатом виде, чтобы отображать точно каждый раз, когда это происходит. Например, мне нужен тип поиска, который находит внутри строки «AAAAA» комбинацию «AAA», происходящую 3 раза, а не 1 раз. См. Мой предыдущий пост об этом: BASH: поиск строки и точное отображение точного числа случаев, когда подстрока происходит внутри нее
Файл sample.txt:
AAAAAHHHAAHH
Файл комбинаций:
AA
HH
AAA
HHH
AAH
HHA
Как мне получить скрипт
#!/bin/bash
awk 'NR==FNR {data=$0; next} {printf "%s %d \n",$1,gsub($1,$1,data)}' 'sample.txt' combinations > searchoutput
для вывода желаемого результата:
AA 5
HH 3
AAA 3
HHH 1
AAH 2
HHA 1
вместо того, что выводится в данный момент:
AA 3
HH 2
AAA 1
HHH 1
AAH 2
HHA 1
Как мы видим, скрипт только находит комбинации, как текстовый редактор. Мне нужно, чтобы он искал комбинации с начала каждого символа, чтобы получить желаемый результат.
Как получить вместо AWK желаемый вывод? Не могу отблагодарить вас достаточно.