• 締切済み

DOS上でテキストファイルを編集するには?

こんばんは。 タイトルどおりですが、テキストファイルををDOSコマンド上で編集することは出来ないでしょうか? そのテキストファイルは数百個あるので、DOS処理で出来ると便利かと思いまして。 ファイルの25行目に追記をするということを数百ファイルすべてに同じ処理をする、ということがしたいのです。 具体的には、 AAAAAAAAA BBBBBBBBB   ・   ・   ・ SSSSSSSSS TTTTTTTTT           ←ここに『UUUUUUUU』を追記したい VVVVVVVVV WWWWWWWWW   ・   ・   ・ です。 どうかご返信よろしくお願いいたします。

みんなの回答

  • nitorin
  • ベストアンサー率55% (11/20)
回答No.3

http://www.kt.rim.or.jp/%7ekbk/gawk-3.1/gawk-mbcs-win32-20070407.zip から、gawkというツールをダウンロード。 下記 test.awkというファイルを作って、 { if ( NR == 25 ) { print "UUUUUUUU"; print $0 ; }else{ print $0 ; } } 先のgawkを解凍したディレクトリにいって gawk -f test.awk 入力ファイル名 > 出力ファイル名 とすれば求める結果が得られます。 ファイルがたくさんあるそうなのでこちらは 下記のようなバッチコマンドにして FOR %%F IN ( *.TXT ) DO CALL gawk -f test.awk %%F > %%F.out ファイルのある間処理をしたらよいと思いますよ。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.2

んー・・・使用しているDOSのバージョンが分からないので正確な情報ではありませんが回答してみます。 MS-DOSにはEDLINというラインテキストエディタがあります。 これを使って自動編集が可能です。 ※確認したところ、Windows 2000/XPにも組み込まれていました。 プロンプトが表示されている状態で、 >edlin で起動されます。 edlinは外部コンソールから操作可能ですので、操作手順を書いたテキストを用意し これをリダイレクトで渡します。 例: TEXT.TXTには line1 line2 line4 と3行のテキストがあり、3行目を line3 と編集する場合 EDIT.TXTに line3 と記述し、 ADD.TXTに 3tEDIT.TXT e と記述 プロンプトから >EDLIN TEXT.TXT < ADD.TXT とすると 3行目にEDIT.TXTの内容が挿入されます。 この時、 EDIT.TXTは 挿入するテキスト ADD.TXTはテキストを挿入する行を指定して、編集を終了しています。 ADD.TXTの "3" は挿入する行、つづく "t" は挿入命令、そして挿入する "テキストファイル" を示します。 最後の "e" は保存して終了をすることを意味します。 挿入する行を把握していない場合は無理ですね・・・。

回答No.1

DOS標準コマンドでは無理だと思いますので、フリーウェアを使うことになると思います。 http://www.vector.co.jp/soft/dos/util/se228325.html 作業手順としては、 1、25行目で2つのファイルに分割(便宜上A,Bとする) 2、COPYコマンドでファイルA+(挿入TXTファイル)+ファイルBの順で結合 となります。

hinekichi
質問者

お礼

早速ありがとうございます! 試してみます。

関連するQ&A