すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

1から99999まで順番に書かれたテキストファイルを作りたいんですが、どうすればいいですか?
やっぱり手で入力しないとダメでしょうか?

テキストファイルの中は、こんな感じにしたいです。
1
2
3
:
:
99997
99998
99999

===補足===
OSはUbuntu 9.0.4です。

  • 質問者:匿名希望
  • 質問日時:2009-08-02 17:06:59
  • 0

OSによって対応方法が変わります。
使っているOSを補足やコメントで教えててください。

===補足===
1.この回答の末尾にあるperlプログラムをテキストエディタにコピーする。
2.コピーしたプログラムをhoge.plという名前で、ホームフォルダに保存する。
3.ターミナル(「端末」という名前かも)を起動する。
4.perl hoge.plと入力して、Enterキーを押す。
5.ホームフォルダにhoge.txtという名前のファイルが生成される。

hoge.txtにお望みのデータが出力されてると思います。


# perlプログラム ここから
#!/usr/bin/perl
use constant MAX_NUM => 99999;
use constant TXT_PATH => "./hoge.txt";
$data = "";
for ($i = 1; $i <= MAX_NUM; $i++) {
 $data .= $i."\n";
}
open(OUT, "> ".TXT_PATH);
print OUT $data;
close(OUT);
# perlプログラム ここまで

  • 回答者:なも (質問から2時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

このやり方で上手くできました。
どうもありがとうございました。

並び替え:

Emacsなどならプログラムで可能です。

普通にキーボードマクロや置換を組み合わせても、たいした手間ではないですけど。0-9をコピーして、^を1に置換といった処理で0-99を作ったら同様に0-999を作るなど。

他にはOpenOfficeが動作するのならCalcのドラッグで作成するとか、方法は色々あります。

  • 回答者:匿名希望 (質問から1日後)
  • 0
この回答の満足度
  
参考になりました。回答ありがとうございました。
お礼コメント

ごめんなさい、理解できませんでした。
どうすれば良いかもっと分かりやすく教えてください。

Windows の動作する PC で、テキストエディタで「---」より下のテキスト打ち込み、「1-99999.vbs」と言う名前で保存。このファイルを実行(マウスでダブルクリック)すれば、このファイルと同じ場所に「1-99999.txt」という名前のテキストファイルが出来る筈。

---

Dim I
Dim fso, MyFile

Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("1-99999.txt", True)

For I = 1 To 99999
MyFile.WriteLine(I)
Next

MyFile.Close()

この回答の満足度
  
回答ありがとうございました。
お礼コメント

Windowsの動作するPCは持ってません。

sh上でfor文をまわして、それをテキスト出力すればできると思います。

for文で99999回変数を用意して、リダイレクト( コマンド→ >>) を利用してできませんか?

手順としては、以下でできそうだと思っています。
①sh上でfor文実行
②その内容をリダイレクトでテキスト出力 >>

===補足===
テキストエディタを起動して、以下のようなコマンドを記入して保存してください。

//テキスト start
//名前は任意で付けてください(sample)
#!/bin/sh

変数1つ用意(n_Cnt)
for文(99999回ループ)
n_Cntを標準出力

//ここまでテキスト end

シェル上で、上記sampleを実行

sh sample >>target.txt

  • 回答者:匿名 (質問から5時間後)
  • 0
この回答の満足度
  
参考になりました。回答ありがとうございました。
お礼コメント

ごめんなさい、理解できませんでした。
どうすれば良いかもっと分かりやすく教えてください。

教えていただいた通りをコピーしてやってみましたが、エラーになってできませんでした。

ベクターなどのフリーソフトで探せます。「テキスト」「連番」で検索してみてください。
たとえば、こんなのです。
http://www.vector.co.jp/soft/win95/util/se274560.html

  • 回答者:匿名 (質問から2時間後)
  • 0
この回答の満足度
  
やや参考になりました。回答ありがとうございました。

エクセルで作って、コピペすればどうでしょうか。
A1セルに1、A2セルに2、A3セルに3を入力。=>A1~A3を選択=>A3セルの右下にカーソルを合わせ+の印になったら下までずーっとドラッグ。これでいけるところまで連番を出す=>そのままコピペ。
続きはB列に又B1~B3まで打って、同じことを繰り返す。
手打ちよりは楽ではないでしょうか。

===補足===
ごめんなさい。お役に立てそうにありません。<m(__)m>

  • 回答者:ちょっと面倒 (質問から9分後)
  • 0
この回答の満足度
  
参考になりました。回答ありがとうございました。
お礼コメント

ごめんなさい、Excelは持ってないです。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る