Windows BAT: поиск вхождений строк в нескольких файлах

У меня есть набор текстовых файлов, все они лежат в одной папке. Назовите их text1.txt, text2.txt и text3.txt.

Все эти текстовые файлы содержат в себе разный текст.

Я хочу иметь возможность циклически просматривать каждый из файлов и подсчитывать количество вхождений определенной строки и выводить файл результатов, который имеет имя файла с количеством вхождений этой строки.

например Я хочу найти слово «Майкрософт». text1 содержит его дважды, а text3 содержит один раз.

Таким образом, выходной файл будет отображать:

text1.txt 2
text3.txt 1

Любая помощь будет оценена по достоинству.

Спасибо


person user2707080    schedule 22.08.2013    source источник
comment
Вы можете использовать команду НАЙТИ. Я не эксперт в пакетной обработке, но я думаю, вы могли бы хранить имена файлов в массиве, перебирать их, находить результаты (возможно, с помощью регулярного выражения) и печатать их в конце.   -  person Broxzier    schedule 22.08.2013


Ответы (2)


Это почти ваш желаемый результат:

find /c "Microsoft" *.txt

person Stephan    schedule 22.08.2013

Лучшие результаты были, когда я использовал:

type *.txt | findstr "pattern"

С наилучшими пожеланиями,

person alacerda    schedule 16.03.2019
comment
да, это также показывает, где и как шаблон используется в конкретном файле .txt... спасибо - person Shubham Uniyal; 13.05.2021