Rainbow Planet (GT×IT×SP×SA)

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

01_IT技術 (Technology)

複数のテキストデータ(.txtや.xml)から特定の単語を一括検索する方法

投稿日:2019年9月28日 更新日:

今回のテーマは「あるフォルダ内の複数のテキストデータ(.txtなど)について、その中身を開かずに特定の単語・キーワードを検索する方法」について記載します。

(0)目次&概説

(1) Windowsの場合
 (1-1) コマンド
 (1-2) 使用例
 (1-3) 解説
 (1-4) TXT以外の形式も含めて検索する場合

(2) Linuxの場合
 (2-1) コマンド
 (2-2) 使用例
 (2-3) 解説

(1) Windowsの場合

(1-1) コマンド

findstr /S /N "[探索文字列]" *

//結果をテキストに出力したい場合
findstr /S /N "[探索文字列]" * > Search.txt

目次にもどる

(1-2) 使用例

例えば、次のディレクトリ構造のテストデータ(.txtと.xmlの混合)を考えます。

C:.
│  Test1.txt
│  Test2.txt
│  Test3.xml
│
└─Test4
        Test4.txt

(図1)テストデータのフォルダ構造

各テキストファイルの中身は下記の通りです。

(図2)テストデータの中身

このデータに対して上記のコマンドで単語「aaa」を検索します。
(図3)Windows検索結果

目次にもどる

(1-3) 解説

コマンドの解説です。

findstr テキスト形式のファイル群から文字列を検索できます。
/S サブフォルダも含めて検索します
/N 行番号を表示します
“[検索文字列]” 検索したい文字列を入力します
* 「*」は配下の全てのファイルの意味します。

「*」について、特定のファイルのみを対象としたい場合は「*.txt」や「*.xml」や「Test.*」といった記載で前方一致や後方一致で対象を絞ることも可能です。

 >目次にもどる

(1-4) TXT以外の形式も含めて検索する場合

上記の手法では拡張子「.xlsx」や「.pdf」のファイルに対して上手く検索が出来ませんが、「さくらエディタ」などのテキストエディタに付属のgrep機能を使えば、pdf形式も含めて検索ができます。

<手順>
①サクラエディタを開きます
②メニューの「検索」→「Grep」を選択します。
③検索文字(条件)と検索する拡張子種別(ファイル)と探索パス(フォルダ)を指定する
④「検索」を押下

(図4)サクラエディタのGrep

目次にもどる

(2) Linuxの場合

(2-1) コマンド

grep -rn "[検索文字列]" ./*

目次にもどる

(2-2) 使用例

Windowsの例と全く同じ構造・中身のデータを作成します。

│  Test1.txt
│  Test2.txt
│  Test3.xml
│
└─Test4
        Test4.txt

(図5)テストデータのフォルダ構造

このデータに対して、同じく単語「aaa」を検索します。

(図6)Linux検索結果

 >目次にもどる

(2-3) 解説

コマンドの解説です。

grep ファイル群の中から正規表現を利用して文字列を抽出できます
-r サブディレクトリも含めて検索する
-n 検索対象が出現する行数を表示
./* 「./*」はカレントディレクトリ配下の全てのファイルを意味します
「./*」について、特定のファイルのみを対象としたい場合は「*.txt」や「*.xml」や「Test.*」といった記載で前方一致や後方一致で対象を絞ることも可能です。

 >目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology)

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

VBAで処理と処理の間に一定時間を空けて実行する方法

今回はVBAで処理と処理の間に一定時間を空けて実行する方法について、備忘も兼ねて記載します。 (0)目次&概説 (1) Application.wait (2) サンプルプログラムソース (3) サン …

Javaの継承やオーバーライドとは?特徴の解説とサンプルプログラムの紹介

(0)目次&概説 (1) 継承/Inherit  (1-1) 継承とは?  (1-2) 継承の特徴  (1-3) 継承のサンプルコード   (1-3-1) Carクラス   (1-3-2) Truck …

Linux:サーバ死活管理スクリプト

システム構築では「運用」の中で死活監視を行いますが、その概要と簡単なLinuxでの例を紹介します。 ●死活監視とは サーバーが止まらずに動いているか?のチェックを行うことです。 最も身近な死活チェック …

Linuxサーバ(CentOS6)にOracleDB11gをインストールする(その2)

目次 (4)インストーラの進行  (4-1)セキュリティUpdate構成  (4-2)インストールオプション選択  (4-3)Gridインストールオプション  (4-4)製品言語の選択  (4-5)デ …

Linuxのテキスト入力で日本語が文字化けした時の対処法と解説

Linuxのテキスト入力等で日本語が文字化けした時の対処方法を紹介します。 (0)目次&概説 (1) 障害・不具合の概要 (2) 文字化けの対処法 (3) 解説(文字コードについて) (1) 障害・不 …

Top