• 締切済み

任意の行を複数行置換すると重い

以下のような体裁のtxtファイルが数百あり、変数aの中身のみのtxtファイルに、すべてのファイルを変換したいのですが、 フリーウェア「複数行置換」の正規表現などを使って、任意の内容を空白に置換しようとすると、フリーズしてしまいます。 ~※複数行の任意の内容~ var a = new Array("※任意の内容", "※任意の内容", "※任意の内容" ); var b = new Array("※任意の内容", "※任意の内容", "※任意の内容" ); ~※複数行の任意の内容~ なにかほかにいい方法はありませんか?

noname#63992
noname#63992

みんなの回答

  • valvalval
  • ベストアンサー率57% (105/184)
回答No.1

フリーズ? 時間が掛かっているだけではないのでしょうか? 数百ファイルを幾つかのフォルダに分けて、やってみては?

noname#63992
質問者

補足

1コだけでもフリーズしました。 <検索条件(複数行モード)> .*Array <置換条件> Array としたのですが。。。 PerlをDOS窓ででできないかと思い、Perlを勉強してますが、 そもそもファイルの受け渡しがわかりません。 以下のようなイメージで考えてますが、できるのでしょうか。 <convert.batの中身> convert.pl %1 convert.batファイルに変換ファイル群をフォルダごとドラッグすると、convert.plが実行されて、別フォルダにコンバートされたファイルがディレクトリ階層もそのままに出力される。 みたいなことができればいいのですが・・・

関連するQ&A

  • sedスクリプト 置換

    この度、はじめてsedスクリプトをかいてみようと思っています。 以下の機能を持った置換スクリプトを書きたいのですが、 アドバイスなど頂ければ幸いです。 ・abcディレクトリ内を検索して(サブディレクトリも含む)、test.txtというファイルを探し出す(test.txtは複数あります) ・検索された複数のtext.txtを一括で置換する ↓置換内容 ・test.txtの5行目にある文字列を1からはじまる連番に置換する(test.txtは複数あるので、処理した順に連番をつけていく) イメージが伝わりにくい場合は、どうかご指摘ください。 よろしくお願いします

  • EXCELのセル内複数行セルの置換方法

    EXCELの1つセル内に複数行入力してあります。 この内の複数行を一括変換する方法が知りたいです。 例) A1セルに 名前:マイケルジャクソン 住所:福岡県 性別:女 部活:パソコン部 年齢:17歳 とあった場合、 名前:マイケルジャクソン 住所:福岡県 を空白で置換して、 性別:女 部活:パソコン部 年齢:17歳 だけにしたい時、一括で置換することはできますでしょうか? 同様な形態で、A2、A3と数百行あります。 よろしくお願いいたします。

  • DOSでファイルの内容を置換

    一つのテキストファイルの中身を置換する方法は 解るのですが一つ一つやるのが不便なので、 テキストファイルの内容を一括で 置換できるコマンドを探しています。 ファイル名 A.txt 内容    名前A.名前B.本文 ファイル名 B.txt 内容    名前A.名前B.本文 具体的には上記のように複数のファイルがあるのですが この複数のファイルの名前Aという部分を一括で変更できるコマンド又はやり方を教えてください。

  • PHPでDBの複数行更新について

    はじめまして、PHPを最近使い始めました初心者です。 [環境] PHP: 5.4.7 DB: SQLite 3.7.15.2 a  OS: Windows 7 DB上のテーブルへ複数行を挿入するソースを書いてますが 下記の文法エラーとなり行き詰っています。 [配列データとソース] Array ( [0] => Array ( [0] => 1359904500 [1] => 1359905400 [2] => 150 ) [1] => Array ( [0] => 1359990900 [1] => 1359991800 [2] => 150 ) [2] => Array ( [0] => 1360077300 [1] => 1360078200 [2] => 150 ) [3] => Array ( [0] => 1360163700 [1] => 1360164600 [2] => 150 ) 以下100件ほど続きます $sql1 = "INSERT INTO aaa (id,sstamp,estamp,data,flag) VALUES " ; $flag = 1; $count = count($time_array) ; for ( $i=1; $i< $count; $i++ ) { $sql1.= "(null,'".$time_array[$i][0]."',"."'".$time_array[$i][1]."',"."'".$time_array[$i][2]."',"."'".$flag."')," ; } $sql1 = substr($sql1, 0, -1) ; var_dump($sql1) ; $result = $db->query($sql1) ; [エラー] Warning: SQLite3::query(): Unable to prepare statement: 1, near ",": syntax error var_dumpでsql作成用変数($sql1)を見てみると問題ないように見えました。 解せないのは、変数内容をsqliteのコマンドラインへコピぺすると 正常に挿入できてしまいました。また配列を一つにしてみるとエラーなくDB挿入できました。 これよりSQL複数行挿入のvalue以下の記述が怪しいと思い、確認しましたが (aa, bb, cc), (dd, ee, ff)になっているようと思えます。 どこに問題があるかご教示をお願いいたします。

    • 締切済み
    • PHP
  • sedでの複数行にまたがる文字列置換

    スクリプト初心者ながら、少しずつ前進してきました。 特定のサブディレクトリ配下にあるファイルの文字列についてsedコマンドを使って置換しようと思っています。 条件が複数あるため、条件を外出しにして実行しているのですが、複数行またいだ場合の置換方法がわかりません。 例)  /path1/path2/itemname を  /aaa/bbb/itemname  に置換したい。 上記の場合、条件ファイルに s|/path1/path2/itemname|/aaa/bbb/itemname|g で大丈夫だと思うのですが、 /path1/path2/itemname が /path1/path2/ itemname だったり /path1/path2/ itemname だったりと、改行や空行が入って置換対象の文字列が複数行をまたいでいる場合があります。 /\/path1\/path2\//{ N s|/path1/path2/\nitemname|/aaa/bbb/itemname|g } とやってみたら /path1/path2/ itemname だけはうまくいきました。 上の内容は1ファイル中に、複数存在しています。 アドバイスをお願いいたします。

  • UNIX のシェル 文字の置換について

    シェルでファイルの文字列を置換したいです。 /*~*/のコメントの文字なので、1行数を変えたくないです。 ─────────────────────────── ※1文字分の空白を「_」で表示します。 test.txtファイルの「XXXXX」を「aa___」に置換する。 ─────────────────────────── 【test.txt 置換前】 /**************/ /*_XXXXXYYYYY_*/ /**************/ 【シェルの内容 test.sh】 #!/bin/csh set IN_henkan = `printf "%-5s" $1` perl -i -p -e 's/XXX/'$IN_henkan'/g' test.txt 【シェルを実行】 test.sh aa 【test.txt置換前 希望する状態】 /**************/ /*_aa___YYYYY_*/ /**************/ 【test.txt置換前 実際の状態】 /**************/ /*_aa_YYYYY_*/ /**************/ ─────────────────────────── 「aa」の後ろに1文字分の空白しか挿入されないです。

  • バッチでテキストファイルから任意の行のみ取得したい

    batファイルを作成していて、 txtから特定の行のみをとりだし、変数に入れたいです。 どうもよくわからないので質問したいと思います。 まず以下の様なテキストファイルがあります。 ------------------- 111 222 333 ------------------- 実際の値、行数は違いますが、こんな感じに文字列が複数行並んでいます。 行いたい動作は、 ----------------------------------------- 1.テキストファイルの1行目を変数Textに入れる(set Text=111) 2.変数Textを使用し色々処理をする 3.テキストファイルの2行目を変数Textに入れる(set Text=222) 4.変数Textを使用し色々処理をする ----------------------------------------- コレを繰り返します。 2と4は同じ動作ですので、行数のカウンタを設定しループさせる予定です。 n行目を全て取り出す方法がわかれば行けると思うのですが、 どうも見つかりません。ご存知の方がいればお教え願いたいと思います。

  • 【AS3.0】外部テキストから配列を読み込む

    fla→PHPに変数・配列のデータを送り、 下記のようなテキストデータを.txtファイルに出力するものを作りました。 var1=1&var2=0&array1=1,2,3&array2=1,2,3,4&array3=1,2,3,4,5 送られた変数・配列はすべて連なっており、&で区切られています。 変数を読み込むには下記で出来るようですが、 参考URL:http://ninotk.oops.jp/weblog/?p=30 private var filePath:String = "topics.txt"; private var tpcLoader:URLLoader; init(); function init(){ tpcLoader = new URLLoader(); tpcLoader.dataFormat = URLLoaderDataFormat.VARIABLES; tpcLoader.addEventListener(Event.COMPLETE,onComplete); tpcLoader.load(new URLRequest(filePath)); } private function onComplete(evt:Event):void{ var src:String = evt.target.data; var vars:URLVariables = new URLVariables(src); contents.topics._date.text = vars.date; contents.topics._txt.text = vars.news; } 配列を読み込む手順がどうしても分かりませんでした... さらに上記のような変数・配列混合での読み込みは可能でしょうか。 もし不可能のようでしたら、変数のみのtxtと配列のみのtxtとで分けての出力も可能です。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • PowerShellで置換したTXTを吐かせるには

    type a.txt|%{$_ -replace "[  ]+$", ""}|?{$_ -notmatch "^$|^Power Shell$|^-+$"}|%{$_ + "."} で先日空白行の置換をご教示いただいたのですが、このテキストをoutputfileさせようとするとエラーになってしまいます。 どうやらプロセスで掴んでいるようなエラーになってしまうのですが・・・回避策はないでしょうか?

  • テキストファイルの一部を複数パターンで置換

    初めて質問させていただきます。 以下のようなテキストファイル(元ファイル) があります。 1行目 あいうえお 2行目 codea=aaaaa/$$ 3行目 codeb=11111*11111 4行目 … この2行目と3行目の「aaaaa」「11111」 の文字列を以下に従って置換し保存したいです。 置換パターンは、 別ファイルに一覧になっています。 bbbbb 22222 ccccc 33333 … これを、元ファイルの 「aaaaa」を「bbbbb」に、 「11111」を「22222」に置換し、 ファイル名を「bbbbb-22222.txt」として 保存するのを、 置換パターンの数だけ行う必要があります。 VBA、バッチは経験があります。得意分野ではありませんが… 申し訳ありませんが、ご教授いただけないでしょうか?

    • ベストアンサー
    • CSS

専門家に質問してみよう