• 締切済み

バッチファイルで「,]区切りの文字を抜き出したい

現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh   ・   ・   ・ 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 追記いたしますと、各hoge~は先頭の[hoge1]を除き、行毎に文字数が異なり、行数は100行を超えますので、なんとかバッチの方で割り当てたいと考えております。 お知恵をよろしくお願いいたします。

みんなの回答

  • pita-gora
  • ベストアンサー率70% (102/145)
回答No.2

こんにちは。 質問内容の確認です。 (1)hogeの数 例ではhoge1~hoge4までですが、ここが3までだったり、7まであったりするのでしょうか?その場合、最大いくつまで想定すればいいでしょうか? (2)使われる記号は? 各行で区切りのカンマ","以外に記号が含まれていることはありますか?ある場合できるだけ具体的に挙げて下さい。

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

>for /?

関連するQ&A

  • バッチファイルで「,]区切りの文字を抜き出したい

    現在、バッチを作成しているのですが、txtファイルからの文字の抜き出しがうまくいきません。 findstr /b "aaa" C:\tmp\test.txt 上記で行毎では抜き出せるのですが、それから[ , ]区切り毎の抜き出し方がわかりません。 [test.txt] aaa,bbb,ccc,ddd eee,ffffff,ggggg,hhhh 下記のようにそれぞれ変数に代入したいと考えております。 aaaで実行する場合。 hoge1=aaa hoge2=bbb hoge3=ccc hoge4=ddd eeeで実行する場合。 hoge1=eee hoge2=fffff hoge3=ggggg hoge4=hhhh 変数への代入はfor文を使用しようと考えております。 お知恵をよろしくお願いいたします。

  • テキストファイルの任意の文字以降の文字列を削除したい

    test.txt AAA+あいうえお BBB+かきくけこ CCC+さしすせそ DDD+たちつてと EEE+なにぬねの 上記(test.txt)のようなテキストファイルから、各行の+以降の文字列を削除して、 以下(result.txt)のようなテキストファイルを生成させるプログラムを作成させたいです。 result.txt AAA BBB CCC DDD EEE このようなプログラムを作るにはどのようにすればよいでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • ファイル処理について

    宜しくお願いします。 ファイル「ppp.txt」の中の文字列を逆にする コードを組みたいのですが、どの本を読んでも ロジックが見当たりません。 ファイルppp.txtの中は以下です。 AAA BBB CCC DDD EEE -> EEE DDD CCC BBB AAA としたいのです。 じっくり探せばあると思うのですが、 急ぎなので投稿しました。 これを実現するPerlスクリプトコードを 教えて頂けないでしょうか。 宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • 大量データの一括変換

    aaa.bbb ccc.ddd eee.fff ggg.hhh 上記のようなデータが約1万行程度あるのですが、これを下記のようなユーザ名・メルアドに変換するコマンド等、お分かりになる方教えてください。ユーザ名・メルアドの間は半角スペースです。 ある程度自分で調べた結果awk等で出来そうな気がするのですが。。。 ユーザ名  メルアド   ↓     ↓ aaa.bbb aaa.bbb@hoge.com ccc.ddd ccc.ddd@hoge.com eee.fff eee.fff@hoge.com ggg.hhh ggg.hhh@hoge.com

  • 文字変換で,を改行されないようにしたい

    下記のスクリプトでファイルから読み込んだ行毎の文字列<>を'=>'に変換後、行の先頭に'を付け足し行の最後に',を付け加えた場合、変な風に改行されてしまいます。 $ cat list1.txt 01<>ああああ 01_01<>あAAA 01_02<>あBBB 01_03<>あCCC 01_04<>あDDD 02<>いいいい 02_01<>いAAA 02_02<>いBBB 02_03<>いCCC 02_04<>いDDD open(IN, "<list1.txt"); @datas = <IN>; close(IN); open(OUT, ">date.txt"); foreach (@datas) { ($a, $b) = split(/<>/, $_); print OUT "'$a'=>'$b',"; } close(OUT); 実行結果 $ cat date.txt '01'=>'ああああ ','01_01'=>'あAAA ','01_02'=>'あBBB ','01_03'=>'あCCC ','01_04'=>'あDDD ','02'=>'いいいい ','02_01'=>'いAAA ','02_02'=>'いBBB ','02_03'=>'いCCC ','02_04'=>'いDDD ', これを下記のように整形するにはスクリプトのどこを直せばよいのでしょうか。 '01'=>'ああああ', '01_01'=>'あAAA', '01_02'=>'あBBB', '01_03'=>'あCCC', '01_04'=>'あDDD', '02'=>'いいいい', '02_01'=>'いAAA', '02_02'=>'いBBB', '02_03'=>'いCCC', '02_04'=>'いDDD', どなたかご教授お願い致します。(上記のスクリプト以外の方法で スマートなやり方などありましたらあわせてご教授頂けますと助かります。)

    • ベストアンサー
    • Perl
  • テキストデータに書いてある文字(行)をシャッフルしたい秀丸エディタなど

    テキストデータにある文字をシャッフルする方法はありますか? 例えば、 aaa bbb ccc ddd eee を eee bbb aaa ddd ccc のような感じでもともと順番にあった行を変えてシャッフルみたいな感じに したいです。 秀丸エディタやさくらエディタでこのようなことは出来ますでしょうか?

  • 正規表現で一つ目の区切り文字で区切りたいのですが・・・

    aaa/bbb/ccc/ddd aaa/bbb/ccc/ddd/eee aaa/ccc/ddd $a=~/(.*)\/(.*)/; $1はそれぞれ aaa/bbb/ccc aaa/bbb/ccc/ddd aaa/ccc と成ってしまいます。 このように 「最後の/」で分けられてしまいます。 一つ目の/で分けるにはどうしたらよいでしょうか。

    • ベストアンサー
    • Perl
  • awkやsed等で特定の文字間を抜き出す

    cat text aaaa bbbb <AAA> ccc ddd <BBB> eee とあるときに <AAA> ccc ddd <BBB> だけ抜き出したいです。 どのようにすればよいでしょうか?

専門家に質問してみよう