- ベストアンサー
1行がやたら長いテキストをバッチ・コマンドから操る
こんにちは。 batファイル、コマンドプロンプトからファイルを操作するとき、1行がやたらと長いファイルが扱えなくて困っています。 びっしりとタグが書かれたテキストファイルなのですが、このファイルの中の /> を >\n (「\n」は改行)として事前に置き換え処理をすることはできるのでしょうか。改行を入れてやれば、後処理でループするときに楽になるのですが。 もしくは、1行が異常に長くても処理できる方法などあるでしょうか? for /f を使うと正しく反応してくれません。1行でメガ単位あるテキストなんですが・・・
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
OSの仕様で、コマンドプロンプトの1行における処理文字数に上限があったはずです。 他の言語からXMLファイルを処理するしか無いです。
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.2
バッチでは無理ですね。 VBScriptだとできるんじゃ無いかな。
質問者
お礼
ありがとうございます。 ですね。いろいろ組み合わせて乗り切ろうと思います。 参考になりました。
- pipopipoid
- ベストアンサー率0% (0/1)
回答No.1
perlがおすすめかなあと思います。 perlの特徴である正規表現、簡単に書ける、インタプリンタ が非常に問題にマッチします。 バッシュと同じくらいの難易度ではないかと思うので、試してみてはいがでしょうか
質問者
お礼
ありがとうございます。 今回の件に限らず、perlができれば何かと便利ですよね。 10年以上前に、見よう見まねで掲示板スクリプトをいじったのが最初で最後でしたが、今年の年末あたりにperlを勉強しようと思います。 今回の件については、外部のプログラムに整形してもらってから処理に入るかたちにしようと思います。
お礼
ありがとうございます。 やはりこんな尋常じゃない長さの1行を処理できませんよね。 WSHでXML整形してから処理をする方向で考えてみます。