ファイル内のすべての行の先頭にある文字列を検索し、別のファイルに保存します。

ファイル内のすべての行の先頭にある文字列を検索し、別のファイルに保存します。

私はこのタスクに対していくつかのオプションを試しましたが、うまくいきませんでした。私はこれをバッチ ファイルとして実行したいのですが、私の試みでは望みどおりの結果を得ることができません。

さまざまなコマンドを試してみましたfindstrが、すべてが 1 行に書き出され、文字が奇妙に見えることがあります。

私の失敗した試みの一つ

findstr /i /n "\<JH*\>" c:\Users\Desktop\split\file.txt > JH.tx

1つの.csvファイル内で「JH」と入力し、それらだけを新しい.csvファイルに保存します。

検索するサンプルCSVファイル

JH009,20,John May.pdf
PB184,90,Chicken.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf 
PB091,10,Mice.pdf
PB884,1040,Cat Order.pdf

新しい出力CSVファイルで期待される結果

JH009,20,John May.pdf 
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf

答え1

あなたは検索文字列コマンドにスイッチを付け/Bて、検索するファイル内の行の先頭のパターンと一致させるように指示します。パターンで大文字と小文字を区別しない場合はスイッチを使用します/I。そうでない場合は、コマンドからスイッチを省略して、文字列の大文字と小文字を区別したパターン一致を実行します。

構文

FindStr /I /B "JH" "c:\Users\Desktop\split\file.txt" > "JH.csv"

ファイルを検索しました

JH009,20,John May.pdf
PB184,90,Chicken.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf
PB091,10,Mice.pdf
PB884,1040,Cat Order.pdf

FindStr コマンド出力

JH009,20,John May.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf

その他のリソース

  • 検索文字列

  • FindStr /?

    /B         Matches pattern if at the beginning of a line.   
    /I         Specifies that the search is not to be case-sensitive.
    

    Example: FindStr /I /B "<String>" "<FileToSearch>" > "<OutputFile>" 
    
  • リダイレクション

関連情報