• ベストアンサー

テキストファイルの特定のものだけの抽出方法

はじめまして。質問させていただきます。 テキストファイルに一行ずつ、バラバラの個人情報が入っているのですが (例:千葉県・東京都・茨城県・千葉県・群馬県・千葉県など) それを特定の一つだけを残したいのです。 (例:千葉県・千葉県・千葉県) その抽出方法を教えていただけませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • doki2
  • ベストアンサー率51% (440/860)
回答No.5

No.3のDoki2です。不親切な回答ですみませんでした。 下記補足します。参考にしてください。 1.DOS Commandの解説ページ   http://www1.plala.or.jp/tsune/2msdos.html      最新のデータで、しっかりまとめておられます。    2.バッチファイル入門   http://www25.cds.ne.jp/~kamiken/bach/bach.html      定番のサイトですがデーが古い(Windows98を対象)のが気になります。 3.コマンド プロンプト入門(その1)(その2)   http://www.atmarkit.co.jp/fwin2k/operation/command001/command1.html   http://www.atmarkit.co.jp/fwin2k/operation/command002/command1.html      かなり専門的な解説です >漢字が使えません   notnotさんご説明のように「ALT」+「半角/全角キー」で全角入力になります。   半角に戻すには「半角/全角キー」のみを押します。 >「操作可能なプログラムまたはバッチファイルとして認識されてません」   例えば「find」を「find」のように全角で書くとこのエラーになります。   DOSコマンドは半角で入力してください。    以下バッチファイルの作成例です AAA.例えば、Dドライブに「Test」というフォルダを作ります。 「手順」  エキスプローラでDドライブを開く  空白部を右クリックして「新規作成」>「フォルダ」  フォルダ名を「test」にする   BBB.「test」フォルダに「test.bat」を作成 「手順」  エキスプローラで「test」フォルダを開く  空白部を右クリックして「新規作成」>「テキストドキュメント」  ファイル名を「test.bat」に変更する  (警告が出ますが無視してください。)  「test.bat」には、まだ何も書かれていません。   CCC.「test.bat」に下記の7行をコピーして貼り付け :Start test.bat find "千葉" 顧客名簿.txt > 顧客千葉.txt find "東京" 顧客名簿.txt > 顧客東京.txt find "茨城" 顧客名簿.txt > 顧客茨城.txt find "群馬" 顧客名簿.txt > 顧客群馬.txt notepad 顧客千葉.txt :End test.bat 「手順」  IEの画面で「:Start test.bat」~「:End test.bat」を選択して右クリックしてコピーを選択  「test.bat」を右クリックして「編集」を選択  メモ帳が起動され空白の画面が表示されます。  メモ帳の画面で右クリックして「貼り付け」を選択  「test.bat」を保存して編集を終了   DDD.「test.bat」の実行  「test.bat」をダブルクリックするとDOS画面になりコマンドが実行されたのち、メモ帳が起動されて「顧客千葉.txt」が開かれます。  しかし、このフォルダには「顧客名簿.txt」と言うファイルがないので「顧客千葉.txt」は空白のページになります。   EEE.検索するファイルのコピー  検索するファイルをコピーして「test」フォルダに貼り付けます。  ファイル名を「顧客名簿.txt」に変更するか、または  「test.bat」の「顧客名簿.txt」の部分を正しいファイル名に変更します。   EEE.「test.bat」の再実行  「test.bat」をダブルクリックで正しいデータが検出されると思います。   またわからないことがあれば質問してください。

sweetpig
質問者

お礼

回答、ありがとうございました! 細やかな説明をしていただきまして、本当に助かりました。今後も、是非、よろしくお願いいたします。

その他の回答 (4)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.4

>質問なのですが、コマンドプロントとms-dosは同じものなのでしょうか? Windows9xではMS-DOSでしたが、Windows2000やXPではコマンドプロンプトに変わりました。MS-DOSより機能が強化されています。ほぼ上位互換です。 >それと、findのところでローマ字しか使えず、漢字が使えません。(><) ALTを押しながら、半角/全角キーを押すとIMEが起動します。 または、コマンドプロンプトで notepad aaa.bat と打ってメモ帳でコマンドを書き込み、コマンドプロンプトでは aaa と打てばさっきメモ帳で書き込んだコマンドが実行されます。

sweetpig
質問者

お礼

回答、ありがとうございました。 意見を参考にさせていただきます。質問文などが意味不明だったと思いますが、答えてくださりありがとうございました。 また、教えていただくことがあるかもしれませんので、その時も是非、よろしくお願いいたします。

sweetpig
質問者

補足

回答、ありがとうございます! 実行してみたのですが、「操作可能なプログラムまたはバッチファイルとして認識されてません」って出てしまいました(><;) ど、どうしましょう・・・ あと、そのままfind~で始めてよろしいのでしょうか?findの前に何か文字等は入れるのでしょうか? 質問ばかりで申し訳ございません;;;

  • doki2
  • ベストアンサー率51% (440/860)
回答No.3

テキストファイルであればDOSコマンドの「find」を使うのが簡単です。 find "文字列" ファイル名1 > ファイル名2 例 find "東京都" 顧客名簿.txt > 顧客東京.txt 顧客名簿.txt の中で"東京都"を含む行を 顧客東京.txt へ書き出します。 複数のデータを書き出す場合、次のようなバッチファイルを作ってみてください。 find "千葉" 顧客名簿.txt > 顧客千葉.txt find "東京" 顧客名簿.txt > 顧客東京.txt find "茨城" 顧客名簿.txt > 顧客茨城.txt find "群馬" 顧客名簿.txt > 顧客群馬.txt

sweetpig
質問者

補足

早速の回答、ありがとうございます。 質問なのですが、コマンドプロントとms-dosは同じものなのでしょうか? それと、findのところでローマ字しか使えず、漢字が使えません。(><)

  • ppg-2
  • ベストアンサー率39% (77/193)
回答No.2

grepができるツールがあればそれで抽出できます。 なければexcelにファイルを読み込んでフィルターをかけても抽出できます。

sweetpig
質問者

お礼

回答、ありがとうございました。 ご意見を今後も、参考にさせていただくのでよろしくお願いいたします。

  • RZ350R
  • ベストアンサー率28% (439/1551)
回答No.1

Excelに読ませて、ブック形式に変更後 オートフィルターで抽出すれば簡単だと思いますがどうですか?

sweetpig
質問者

お礼

回答、ありがとうございました。 役立ちました!ありがとうございます。また、教えていただくことがあると思いますが、その時も是非、よろしくお願いいたします。

関連するQ&A