- ベストアンサー
テキストファイルの特定のものだけの抽出方法
はじめまして。質問させていただきます。 テキストファイルに一行ずつ、バラバラの個人情報が入っているのですが (例:千葉県・東京都・茨城県・千葉県・群馬県・千葉県など) それを特定の一つだけを残したいのです。 (例:千葉県・千葉県・千葉県) その抽出方法を教えていただけませんでしょうか?
- みんなの回答 (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」をダブルクリックで正しいデータが検出されると思います。 またわからないことがあれば質問してください。
その他の回答 (4)
- notnot
- ベストアンサー率47% (4900/10358)
>質問なのですが、コマンドプロントとms-dosは同じものなのでしょうか? Windows9xではMS-DOSでしたが、Windows2000やXPではコマンドプロンプトに変わりました。MS-DOSより機能が強化されています。ほぼ上位互換です。 >それと、findのところでローマ字しか使えず、漢字が使えません。(><) ALTを押しながら、半角/全角キーを押すとIMEが起動します。 または、コマンドプロンプトで notepad aaa.bat と打ってメモ帳でコマンドを書き込み、コマンドプロンプトでは aaa と打てばさっきメモ帳で書き込んだコマンドが実行されます。
お礼
回答、ありがとうございました。 意見を参考にさせていただきます。質問文などが意味不明だったと思いますが、答えてくださりありがとうございました。 また、教えていただくことがあるかもしれませんので、その時も是非、よろしくお願いいたします。
補足
回答、ありがとうございます! 実行してみたのですが、「操作可能なプログラムまたはバッチファイルとして認識されてません」って出てしまいました(><;) ど、どうしましょう・・・ あと、そのままfind~で始めてよろしいのでしょうか?findの前に何か文字等は入れるのでしょうか? 質問ばかりで申し訳ございません;;;
- doki2
- ベストアンサー率51% (440/860)
テキストファイルであればDOSコマンドの「find」を使うのが簡単です。 find "文字列" ファイル名1 > ファイル名2 例 find "東京都" 顧客名簿.txt > 顧客東京.txt 顧客名簿.txt の中で"東京都"を含む行を 顧客東京.txt へ書き出します。 複数のデータを書き出す場合、次のようなバッチファイルを作ってみてください。 find "千葉" 顧客名簿.txt > 顧客千葉.txt find "東京" 顧客名簿.txt > 顧客東京.txt find "茨城" 顧客名簿.txt > 顧客茨城.txt find "群馬" 顧客名簿.txt > 顧客群馬.txt
補足
早速の回答、ありがとうございます。 質問なのですが、コマンドプロントとms-dosは同じものなのでしょうか? それと、findのところでローマ字しか使えず、漢字が使えません。(><)
- ppg-2
- ベストアンサー率39% (77/193)
grepができるツールがあればそれで抽出できます。 なければexcelにファイルを読み込んでフィルターをかけても抽出できます。
お礼
回答、ありがとうございました。 ご意見を今後も、参考にさせていただくのでよろしくお願いいたします。
- RZ350R
- ベストアンサー率28% (439/1551)
Excelに読ませて、ブック形式に変更後 オートフィルターで抽出すれば簡単だと思いますがどうですか?
お礼
回答、ありがとうございました。 役立ちました!ありがとうございます。また、教えていただくことがあると思いますが、その時も是非、よろしくお願いいたします。
お礼
回答、ありがとうございました! 細やかな説明をしていただきまして、本当に助かりました。今後も、是非、よろしくお願いいたします。