При необходимости замените 6 на общее (количество строк + 1):
awk '{mult+=$2*(6-NR); sum+=$2;} END {print mult/sum;}' yourfile.txt
Отображает: 3.06667
grep
легко ищет несколько файлов. Если совпадение найдено, по умолчанию имя файла каждого совпадения печатается вместе с соответствующим токеном. Следовательно, извлеките интересующие журналы, например:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.20.7
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.20.8
...
grep mmc0 ChangeLog-4.20*
Если вы хотите выполнить поиск по нескольким журналам изменений, я бы рекомендовал использовать репозиторий git. Для стабильных выпусков клонируйте стабильное дерево:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git linux-stable
Это займет некоторое время и потребует загрузки 2 ГБ данных. Если вам не нужна вся история, вы можете вместо этого использовать неглубокий клон :
.git clone --shallow-since=v4.18 --no-single-branch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git linux-stable
(Вам понадобится --no-single-branch
, если вы хотите сравнить различные основные выпуски, поскольку каждый поток стабильных выпусков представляет собой отдельную ветку, начинающуюся с основного выпуска.)
Затем в linux-stable
вы можете использовать git log
для просмотра журналов, фильтрации с различными параметрами, , например.
git log --grep=sama5d3 v4.18..v4.20.16