私はこれが以前に尋ねられそして答えられたと信じなければなりません。しかし、ここに仕事をすることができる簡単なバッチスクリプトがあります。
::StringCount String File
::
:: Count the number of times that String appears in File.
:: The search is not case sensitive.
:: Enclosing quotes are not considered to be part of the string.
:: The string cannot contain =
::
@echo off
setlocal disableDelayedExpansion
set count=0
for /f usebackq^ delims^=^ eol^= %%A in (%2) do set "ln=%%A"&call :testLine %1
echo %count%
exit /b
:testLine
setlocal enableDelayedExpansion
:testLine2
if defined ln if "!ln:*%~1=!" neq "!ln!" (
set /a count+=1
set "ln=!ln:*%~1=!"
goto testLine2
)
endlocal & set /a count=%count%
exit /b
コマンドラインの使い方は
StringCount null yourFile.txt
これは大きなファイルではかなり遅くなる可能性があります。
私は書いた REPL.BATと呼ばれるハイブリッドJScript /バッチユーティリティ それは仕事を簡単にすることができそしてかなり速いはずです。このユーティリティは、stdinから読み込んだ行に対して正規表現検索と置換を行い、その結果をstdoutに書き込みます。このタスクを単純化するオプションを含む、かなりの数のオプションがあります。このユーティリティは、XP以降の最新のWindowsマシンで実行される純粋なスクリプトです。完全なドキュメントはスクリプトに埋め込まれています。
これはあなたの問題を解決するためにどのように使用できるかです。 大文字と小文字を区別 。
<yourFile.txt repl (null) \n$1\n ax | find /c "null"
検索をしたい場合 大文字小文字を区別しません
<yourFile.txt repl (null) \n$1\n aix | find /i /c "null"