• ベストアンサー

ある文字列が含まれた行だけをテキストから抽出→結果を別のテキストに出力

ある文字列が含まれた行だけをテキストから抽出→結果を別のテキストに出力したいです。 そのために何かいいソフトウェア、または方法は無いでしょうか? これまでは下記サイトを参考に秀丸エディタの検索&glep機能を使ってやってみたのですが、 抽出したい文字列の数が多く手動でやるのに限界を感じたので質問させていただきました。 http://hechimahige.blog71.fc2.com/blog-entry-4.html 秀丸エディタのマクロでも構いません。 よろしくお願いします。

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

  • ベストアンサー
noname#108428
noname#108428
回答No.1

お使いのOSが分かりませんが、 Perlを用いると、簡単かつ高速に出来ると思います。 ご自身で、都合の良いスクリプトを書くだけですから、 簡単で、かつ柔軟です。

andchan
質問者

補足

自作プログラムやスクリプトで処理するというのは確かにいい方法ですね。 今回は急ぎなので知識的に一からというのは出来ないですが、 勉強がてら時間があればやってみようと思います。

関連するQ&A

  • テキストから文字列の抽出法

    テキストから文字列を抽出して、比較したいのですが、良いアプリケーションをご存じないでしょうか? 具体的には2つの異なるフォーマットのファイルがあり、それぞれに(同一の文字列かどうか)比較したい文字列は1行ずつソートされた形で含まれています。しかしその同じ行に時刻などの付加情報が含まれているため、行単位で比較することができないのです(行単位で比較できるアプリは知っています)。 文字列とはファイル名ですので、*.* の形で指定して、抽出できればと思うのですが... もしご存知の方がいらっしゃいましたら、教えてください。

  • テキストで特定の文字列を含む行を削除

    テキストエディタで特定文字列を含む行と空白の行を削除したいです。 このようなことができるフリーのソフトがあったら教えてください。 テキストデータは数メガになりますのでメモ帳のような簡単なエディタでは開けません。 また、エクセルでも最大行を超えるため読み込めません。

  • ある文字列を含む行の抽出

    お世話になります。 いくつかのテキストファイルがあり、それらのファイルのなかの、特定の文字列を含む行をすべて抽出して、別ファイルに集めて保存するようなことを、自動的に行うことはできますでしょうか?? officeソフトでできればよいのですが、ほかの方法でもかまいません。 お願いいたします。

  • 指定した文字列を含む行から、指定した文字列を

    含む行まで、全ての行を抽出して別ファイル(名前は元ファイルと同じ)としたいのです。 対象ファイルに結果を上書きでもかまいません。 指定したフォルダの中にある複数のフォルダ各々に1つずつ入っているテキストファイルが対象になります。 例) 東京都 新宿区 <start123AAA> 東京都 港区 <end>AAABBB 東京都 目黒区 どのファイルにも必ず<start と<end の文字列があります。(必ず1組です) <start の文字列を含む行から <end の文字列を含む行までを 抽出したいのです。 (欲しい結果↓) <start123AAA> 東京都 港区 <end>AAABBB フリーのエディタソフトのgrep、grepのマクロ、バッチでできないものかと試してみているのですが どうしてもうまくいきません。 抽出したい範囲、削除する範囲には禁則文字?が入っているのでバッチは難しいのでしょうか? できればバッチで処理できればなと思っているのですが、うまくいきません。 (<>!""/ あたりが入っています。別の文字に置き換えることは可能です) 範囲を抽出ではなく、 <startを含む行の一つ上の行から前を全て削除 <endを含む行の一つしたの行から後を全て削除 する方法や VBAで、スタート行をとエンド行をSearchして抽出する方法など ご教授いただきたくお願い致します。

  • 秀丸の正規表現置換でこの文字列にしたい

    タイトルの通りですが、秀丸エディタで下記の文字列に置換しようとしています。 目的はFC2ブログでの全記事タイトルリストの作成です。 ↓最終的にこのような形にリスト化したいと思っています。 http://●●.blog21.fc2.com/blog-entry-〇〇.html,<a href="http://●●.blog21.fc2.com/blog-entry-〇〇.html" target="_blank">ブログタイトル1</a> http://●●.blog21.fc2.com/blog-entry-△△.html,<a href="http://●●.blog21.fc2.com/blog-entry-△△.html" target="_blank">ブログタイトル2</a> http://●●.blog21.fc2.com/blog-entry-□□.html,<a href="http://●●.blog21.fc2.com/blog-entry-□□.html" target="_blank">ブログタイトル3</a> : : ※ ●●はブログID,〇〇や□□は記事のナンバーです(順不同) 現時点で、 : <a id="link__inpage_21" href="http://●●.blog21.fc2.com/blog-entry-〇〇.html" title="このリンクのブログ本文の文頭">ブログタイトル1</a> : <a id="link__inpage_23" href="http://●●.blog21.fc2.com/blog-entry-△△.html" title="このリンクのブログ本文の文頭">ブログタイトル2</a> : <a id="link__inpage_25" href="http://●●.blog21.fc2.com/blog-entry-□□.html" title="このリンクのブログ本文の文頭">ブログタイトル2</a> : : ※ ●●はブログID,〇〇や△△や□□は記事のナンバー(1~1500ほど)です(順不同) このような形で、文字列が1500行ほど並んでいます。(つまり1500リンク分です) 何回でも、置換の手順を踏んでも構わないので、 : <a id="link__inpage_21" href="http://●●.blog21.fc2.com/blog-entry-〇〇.html" title="このリンクのブログ本文の文頭">ブログタイトル1</a> ↓ http://●●.blog21.fc2.com/blog-entry-〇〇.html,<a href="http://●●.blog21.fc2.com/blog-entry-〇〇.html" target="_blank">ブログタイトル1</a> : という形に最終的に全行をリスト化したいのですが、どのような正規表現で置換していけばいいでしょうか? 唐突で誠に恐縮ですが、ご存じの方がいらっしゃいましたら御教授のほどよろしくお願い申しあげます。

  • テキストファイルからの抽出

    VBAでもコマンドプロンプトでもいいのですが、1000行くらいあるテキストファイルを読み込んで、キーワード「タイムアウト」を含む行の1つ手前の行の文字列を抽出、それらを1つのファイルにまとめて出力させたいのです。 VBAで自分なりにやってみたのが http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12142881517 の最後の回答にあるマクロに手を少し加えて「タイムアウト」のある行番号をテキストファイルに出力し、その出力ファイルを読み込んで、一つ手前の行番号のリストを作ることまではできました。 ですが、どうやってそのリストから行番号を指定して、元のファイルからタイムアウトを含む行の1つ手前の行を抽出し、1つのファイルにまとめて出力させられるのかが分かりません。 後Powershellはまだ勉強途中なのですが、こっちでならできますか? アドバイスをお願いします。

  • perlを使用しての特定行抽出について

    何万行も書いてあるテキストファイルがあります。抽出したい文字列の一覧がテキストファイルにまとめられています(文字列は約1000個)。抽出したい文字列は一行にひとつづつ書かれています。何万行も書いてあるテキストファイルから抽出したい文字列と二つ合致したらその行を抽出したいです。ここで、注意していただきたいのが、抽出したい文字列一覧から二つの文字列にヒットした行を抽出したいです。宜しくお願い致します。 何万行も書いてあるテキストファイル aaaaa abc edi bb aert kkkkkkkkkk lllllll ddddd aaaaa anhi kkk    ・・・・・・・・ ・・・・・・・・ 抽出したい文字列一覧のテキストファイル aaaaa bbbbb ddddd iiiiiiiii eeeee ・・・・・ ・・・・・

    • ベストアンサー
    • Perl
  • @のみを含む文字列を抽出

    メールをエクスポートしたテキストファイルがあり、そこからメールアドレスだけを抽出したいと思っています。 Windowsで仕事をしており、とりあえずQGREPというフリーウェアを使っているんですが、「@」という文字列で検索をかけると、「@」を含む「行全体」を出力してしまいます。 出力イメージとしてはこんな感じです。 ========================================== From Postmaster@xxxx.xxxx.co.jp Mon Sep 06 05:10:13 2004 Message-ID: <20040905201013.15166.qmail@xxxxx.com> 発行人: XX XX xxxxxxx@xxxx.com ========================================== こういうファイルからメールアドレスだけを抽出する方法が分からないので、今は手作業でやっているんですが、@を含む文字列(文字の塊)だけをうまく抽出する方法はないでしょうか? 宜しくお願いします。

  • EmEditorでマクロ? 選択文字列を含む行の一括削除

    テキストエディタとしてEmEditorを使用しています。 「ある文字列」を全て削除する場合は置換を使えばできますが、 「ある文字列を含む行」を全て削除するにはどうすればよいのでしょうか。 マクロ機能を使用すればできるのではないかと思いましたが、 私は、マクロの記録/停止で実際に行った操作を記憶させる方法しか使ったことがなく、 この方法では上手くできませんでした。 文章中から任意の文字列を選択し、マクロの実行で文字列が含まれる行を一括削除 ということを行いたいです。 このようなマクロをご存じでしたら教えて頂けないでしょうか。 あるいは、これらのことは置換のみでもできるのでしょうか。

  • 文字列の抽出について

    A列に 500行位の文字列があり、 その行の中から以下を抽出したいです。 ただ、抽出したい文字列は、0123456で始まり、abcdという文字列まで。 しかも改行されています。 ※抽出したい文字列 【A列 0123456 ~ B列 abcd】という文字列 【F列 0123456 ~ B列 abcd】という文字列 A列 0123456 B列 xxxx abcd C列 1111 D列 2222 E列 3333 F列 0123456 G列 xxxx abcd H列 4444 I列 5555 J列 6666 宜しくお願い致します。

専門家に質問してみよう