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

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

関連記事

Linuxサーバー(CentOS6)にTomcatをインストールする手順

(0)目次&概説 (1) Tomcatとは? (2) Tomcatインストールと疎通チェック  (2-1) Tomcat用ユーザーの作成  (2-2) Tomcatの資源をダウンロード  (2-3) …

APサーバ(Java)⇒DBサーバ(OracleDB 11g)へJDBC接続する方法まとめ

(0)目次 (1) 前提条件 (2) JDBCドライバーのインストール  (2-1) JDBCドライバーをダウンロード  (2-2) APサーバにアップロード・解凍 (3) プログラムの実装  (3- …

Oracleデータベースのインデックスの有無による速度の差異を検証する

(0)目次&概説 (1) 検証概要 (2) 検証環境 (3) 検証準備  (3-1) サンプルデータ作成(インデックス無)  (3-2) サンプルデータ作成(インデックス有)  (3-3) 実行計画の …

CiscoのIP電話を用いた複数拠点での電話会議の方法について

(0)目次 (1) Cisco製品を使った電話会議 (2) Conference方式 (3) Meet-Me方式 (1) Cisco製品を使った電話会議 仕事で遠隔地の拠点との会議をするケースがあると …

クッキーとは?JSPでCookieを保存&取得するサンプルプログラムと代表的なメソッド紹介

(1) セッションとは (2) クッキーとは  (2-1) 概要  (2-2) サンプルプログラム   (2-2-1) 概要&画面遷移   (2-2-2) HelloCookie.jsp   (2-2 …

Top