• 締切済み

テキストファイルの操作で教えてください!

テキストファイル操作について教えて下さい。 膨大な数のテキストファイルがあります。 中身は改行などを含む ---------- ・ ・ ・ 1. 文字列 文字列 文字列 2. 文字列 文字列 文字列 。 。 。 ---------- の様な形です。 1つのファイルに1.~100.まであります。 この1.から100.までを全ファイル抜出すか前後の行を削除し、1つのファイルにしたいです。 どうすればできるか教えてください。 お願いします。

  • n226
  • お礼率66% (2/3)

みんなの回答

  • ganbei
  • ベストアンサー率41% (30/73)
回答No.2

こんにちは。 (1)JAVA,C,Cobol,Fortran等でプログラムを組んで、抽出又は統合する。「膨大」な数のテキストファイル名をデータ化する必要がある。 (2)Excelに読み込んでソ-ト(要らない文字列がまとまるように)し、要らない文字列を削除する。 それにしても、。「膨大」な数のテキストファイルから、さらに「この1.から100.までを抜出」すということは、「膨大」×100のテキストファイルを作ることになるのでは。

n226
質問者

お礼

回答ありがとうございます。 プログラムが全く分からなく、重複を正規表現で消しました。 そうなんです。膨大なファイルになります。 でも1つに綺麗にまとめたくて。 ありがとうございました!

  • notnot
  • ベストアンサー率47% (4847/10260)
回答No.1

もうすこし具体的に書いてください。

n226
質問者

補足

失礼しました。 1.の前には aaa bbb ccc とあります。 ファイルの中身は ---------- aaa bbb ccc ddd eee 1. 文字列 文字列 文字列 2. 文字列 文字列 文字列 ・ ・ 100. 文字列 文字列 文字列 fff ggg hhh ---------- どのファイルもdddとgggは同じ文字列です。 どの数番も文字列の後に改行が3つあります。 通番から次の通番までの行数が一定ではありません。 こちらでよろしいでしょうか。 足りない点がありましたらお知らせください

関連するQ&A

  • ファイル操作について、テキストファイルの書き換え

    よろしくお願いします。 データファイルAからデータを取得して、テキストファイルBの内容の一部を取得したデータで書き換えるという操作を行うプログラムを作りたいです。 具体的には、 データファイルA[A.txt]の中身 111 222 333 444 テキストファイルB[B.txt] 文字列1="123" 文字列2="234" 文字列3="345" 文字列4="456" というような二つのファイルを読み込み、B.txtの""で囲まれた部分を、A.txtで取得したデータで置き換えるような操作を行いたいのですが・・。 使用する言語としてはスクリプト言語であるperl、もしくはプログラム作成経験があるCを使用しようと思っています。(perlは未経験で入門書を読んでいるレベル)

    • ベストアンサー
    • Perl
  • Excelへのテキストデータの取り込み

    VB2005でテキストファイルを作成し、それをExcelに取り込もうとしています。 123,234,120,200 200,300,400,500 111,222,333,444 のようなファイルを作成し、これをExcelに取り込むと 3行で取り込まれます。 次に 123,234,120,200 200,300,400,500 111,222,333,444 のように文字列の行間に改行文字(chr$(13))だけの行を作成し、 これを取り込もうとすると、 2行おきに読み込まれてしまいます。 メモ帳でファイルの中身を確認すると1行おきになっているのに、 Excelのデータ→外部データの取り込みでテキストデータウィザードを見ると すでに2行おきになっているのです。 1行おきに作成した文字列ファイルを1行おきに取り込むにはどうしたらいいのでしょうか?

  • 外部ファイルから一部分を書き出したい

    * * 固定文字 * ファイル名1 * [改行] * * 固定文字 * ファイル名2 * [改行] ・・・(以下同様) 上のようなテキストファイルがあります。 これのファイル名1,2,...だけ取り出して 別のファイルに保存したいのですが、 どのようにすればよいでしょうか? *は文字数が変わる文字列を意味します。 *はスペースを含みません。 ファイル名は文字数が変化し、その前後には スペースが入ります。 固定文字はどの行も同じ文字が入っているので これを基準に、プログラムを書けばよいと 思うのですが、分かりません。

  • Excel2003で作成したファイルをExcel2007で開くとテキストボックスの不具合

    Excel2003で作成したファイルをExcel2007で編集しています。 ファイル内にテキストボックスがあるのですが、2003の場合、文字数が多くなれば自動で改行されてテキストボックス内に表示されています。 ところが同じExcelファイルを2007で開いて編集しようとした場合、改行されずに全て1行で表示しようとしているため、文字列が途中で途切れてしまいます。 テキストボックス自体を2007で新しく作り直すしかないのでしょうか? なお、このファイルを2003で開いた場合、なにか問題はありますか?

  • 複数のテキストファイルに対して同時に同じ変更をしたい

    いろいろなフリーソフトを探してみましたが、 探し方が悪かったのか見つける事が出来なかった為質問させて頂きます。 複数のテキストファイル(約50~100ファイル)に対して、 同時に同じ編集を行えるソフトはありませんでしょうか? grep置換という機能を持ったツールもありましたが、 置換だけではうまく出来ないような、 行の追加、改行、行の削除といった処理を 全てのファイルに対して行いたいです。 追加する文字列は一緒ですが、 削除する文字列は異なるため、 全てのファイルに対して同一の処理が出来れば目的の作業が出来ます。 そのような作業の出来るツールはありませんか? よろしくお願い致します。

  • 文字列検索 複数のテキストファイル

    最近趣味でC言語を始めたのですが、 大本のリストを含んだテキストファイルに含まれる文字列 【テキストの中身】 osaka nagoya tokyo 上のリストを行ごとに読み込んで もう一つのファイルから検索して該当する文字列を含む行以外を削除するようにしたいのですが何か良い方法はないでしょうか? 色々調べながらやってはいるもののまだまだ勉強不足なせいかわからず困っております。よろしければご教授お願いします。

  • テキストファイルの処理について

    初心者です。 PHP5を始めて約50時間程度です。 テキストファイルの処理についての質問です。 fgets,file_put_contents,str_replace,array等の関数を使い処理するのだと思います。 構文が組み立てられません。 参考になるサイト等アドバイスいただけると幸いです。 よろしくお願いします。 下記の様な元になるテキストファイルがあります。 1.最初の文字があるまで(=改行だけの行)は削除 2.最初の文字列の最後に”,”を入れ改行をとる 3.次の行と次の次の行は削除 4.次の行は、例:7月4日(土)を7,4,土に 5.次の行は、例:10:00~13:00を10:00,13:00に 6.次の行と次の次の行は削除して改行 7.次の行と次の次の行は削除 8.前述1から7までの繰り返し *最終的には後述のようなテキストファイルになります ----元になるテキストファイル 植物の光合成 理科 3 相田ももこ 7月4日(土) 10:00~13:00 30名 5,000円 鎌倉時代 社会 3 土田正 7月4日(土) 14:00~17:00 30名 5,000円 生物の進化 理科 6 長谷川浩 7月4日(土) 10:00~17:00*会場は大阪です 16名 10,000円 ----元になるテキストファイル以上 ---完成後のファイル 植物の光合成, 理科,7,4,土,10:00,13:00 鎌倉時代,社会,7,4,土,14:00,17:00 生物の進化,理科,7,4,土,10:00,17:00 ---完成後のファイル以上

    • ベストアンサー
    • PHP
  • テキストファイルをエクセルもしくはアクセスで加工

    こんばんわ。 仕事でタイトルの作業が必要になり困ってしまい、過去のQ&Aの方法も試しましたが、うまくいかなかったのでどなたかご教授いただけると嬉しいです。 PCの環境はWindows XP、Excel2003、Access2000です。 私自身はExcelは何とかいじれますが、Accessは全くの初心者です。 テキストファイルの中身は改行が全くなく、以下の例1のように数字とカナが混在した状態です。(*はスペースの数を表します) (例1)0000001524****264アイチ******6482645ナゴヤ**********000002546814********0000002546****264ミエ 4532789ヨッカイチ******000001468234******** テキストファイルの中はこの例2のような文字列がかなり膨大な量ではいっていました。この文字列を以下の例のように直したいです。 (例2)0000001524****264アイチ******6482645ナゴヤ**********000002546814     0000002546****264ミエ******4532789ヨッカイチ**********000001468234 各文字間のスペースの数が違うのでなんとかできないか試行錯誤してみましたが、私の知識では不可能でした。 このような変換はできるのでしょうか? ご教授よろしくお願いします。

  • テキストファイルを読み込むには・・・。

    テキストファイルの中身が以下のように abcd,efg,hij,klmn↓ opqr,stu,vwx,yzab↓ cdef,ghi,jkl,mnop↓ .         .          .         .         のように何行あるか分からない状態で1行ずつ,と\0で区切って4つの文字列を取り出したい(上のテキストファイルの1行目だと[abcd][efg][hij][klmn]のように)のですがどのようにすればいいのでしょう?できれば余分なメモリを確保するやり方を避けたいです。

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

    お世話になっています。 タイトルにあるように、別ファイルに記述のあるテキスト(改行あり)から、そのテキストを1行で変数に代入したく、以下のようにしています。 $file = "http://~"; $text = file($file); for($i=0: $i<count($text); $i++){  $text_data .= $text[$i]; } #上記スクリプトはコピペじゃなく、今手元で記述したもなので、間違っていたらすみません。 上記スクリプトにより変数に代入された1行テキストを他のスクリプトに利用したいのですが、上手くいかず、色々と試しているなかで、$text_dataを出力してメモ帳にコピペしてみると、何箇所かに改行されているところが確認できました。 改行されているところとは、元のファイルを作成する際、エンターキーにより改行されているところなのですが、改行されている前後をコピペする分には問題ないものの、テキスト全文(文字数は1万文字を数える)をコピペすると、エンターキーによる改行箇所(全てじゃないです)が、メモ帳において改行されてしまいます。(普段使っているterapadでは全てがコピペできていない) このような状況なのですが、別ファイルからテキストを1行として取得するには、どのようにしたら良いのでしょうか? 勉強不足でfile()を利用していますが、他の方法が思いつかず利用しているので、別の方法でも構いません。ご教示のほど宜しくお願い致します。

    • ベストアンサー
    • PHP