example.txtファイルと文字列「Hi」と15行目の先頭があります。
findstrに必要なコードは次のとおりです。
findstr /b /n "Hi" "example.txt"
コマンド行(ここでは15番目)でのみ「Hi」文字列を検索できるものはありますか。
助けてください !
FINDSTRを使用して特定の行を検索するにはどうすればよいですか?
findstrに必要なコードは次のとおりです。
findstr /b /n "Hi" "example.txt"
コマンド行でのみ「Hi」文字列を検索できるものはありますか
あなたの質問の言い回しに基づいて、私はいくつかのことを仮定します:
FINDSTR
は/B
あなたの文字列「Hi」を使用しているので、行の先頭にのみあり、その後に別の単語のスペースなどが続きます。/N
swtichを使用しているので、一致する文字列が見つかった行を印刷するためにのみ使用すると仮定します。これにより、aboutFINDSTR
コマンドを実行して15行目のみを取得できます。これを実行するために実行するコマンドの例(バッチではない)を次に示します。
(変数がプラグインされたら、バッチスクリプトでなくても実行できるように、これらすべての行を簡単にコピーして貼り付けることができます。)
SET SearchFile=C:\Path\example.txt
SET TmpSearchFile=%Temp%\~tmpSearch00.txt
SET String=Hi
SET LineNum=15
FINDSTR /B /N "%String%" "%SearchFile%" > "%TmpSearchFile%"
FOR /F "USEBACKQ TOKENS=2 DELIMS=: " %A IN (`"FINDSTR /B "%LineNum%:%String%" "%TmpSearchFile%""`) DO ECHO %~A
これは基本的にFINDSTR
、すべての行の先頭にある一致する文字列の行番号を持つ最初のファイルを一時ファイルにパイプします(存在する場合は上書きされます)。次に、その一時ファイルで、行番号の文字列に加えて、コロンと文字列(つまり、「15:Hi」)を検索します。その後、私が使用FOR /F
することループcolon
としてのを。その後、要求された場合にのみ文字列が表示されます(必要に応じて他のコマンドに置き換えてください)。space
delimiter
token
2
ECHO
ECHO
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加