![テキストファイルの単語に基づいてファイルを検索する](https://rvso.com/image/1289028/%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%8D%98%E8%AA%9E%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B.png)
テキストファイル内で複数の単語を同時に検索したい。
たとえば、次の3つの単語を検索したいとします: Majid、superuser、device
通常、1つずつ検索する必要があり、すべてを同時に検索することはできません。そのため、これらの単語をテキストファイルで同時に検索したいと考えています。
これらの 3 つの単語をテキスト ファイルに 1 行に 1 単語ずつ入力したいと思います。これを SearchText と名付けましょう。これで、これらの単語を検索する Target Text ができました。これを TargetText と名付けましょう。
アプリなどに、SearchText から単語を取得して TargetText で検索し、ハイライト表示したり検索結果を表示したりするように指示したいと思います。
私の説明が明確であれば幸いです。誰か助けてくれませんか?
答え1
grep "Majid|superuser|device" filename.txt
Windowsではインストールする必要がありますシグウィン、GNUWin32 の、UnxUtilsまたは類似。
単語がファイルから取得される必要がある場合は、そのファイルを読み取り、 への引数を構築するシェル スクリプトを作成できますgrep
。
参照https://stackoverflow.com/questions/87350/what-are-good-grep-tool-for-windowsこれはネイティブを示唆する
findstr /C:"Majid superuser device" filename.txt
答え2
シンプルにしてください。Windows プラットフォームの場合は、Windows コマンド/ツールを使用します。
私は検索文字列次のように:
C:\some\directory>findstr "Majid スーパーユーザー デバイス" somefile
必要はありません検索テキスト3 つのキーワードを検索するときに存在するようにするには、次のようにします。
C:\some\directory>notepad SearchText。
キーワードを CRLF で区切って入力します。ファイルを保存して、次の操作を実行します。
C:\some\directory>findstr /g:SearchText somefile