1列の数字が入っている、2つのテキストデータでペアになっているものを選び出すバッチファイルを作りました。
しかし一晩たっても処理が終わらないのでなにか不具合があるように思いますが、プログラミング初心者のため知識不足で何が悪いのかが分かりません。
意図としてはdata1.txtから1行ずつ%%aに取得し、data2.txtと一行ずつ比較し、イコールであればその数字を吐き出す。それをdata1.txtの最後の行まで繰り返すというイメージで書いております。
for /f %%a in (data1.txt) do (
for /f %%b in (data2.txt) do (
if %%a==%%b echo %%a >> pair.text
)
)
勉強不足がゆえにこのような質問をして申し訳ございませんが、問題点をご指摘いただきたいです。
また恐縮ではございますが、この方針で目的を達成できないようでしたら、awk,C++でしたら現在勉強中なのでこの二つでプログラムを書くための助言を頂けますと幸いです。
どなたかお力を貸していただきたいです。
うまく説明できているか怪しいですが、どうぞよろしくお願いいたします。
追記
コメントありがとうございます。
データの一部を抜粋しておりますがdata1.txt、data2.txt共に、以下のように6または5つの数字を一列に詰め込んだ形のテキストデータからなっています。
200579
200581
200582
200586
52155
52157
52167
52168
52192
確認したところ、空白やtabは含まれておりませんでした。
また、pair.textのファイルサイズは、処理が終わらなかったため途中で止めたものですが、もとのdata1.txtと比べてもそれほど大きくはなっておりませんでした。
回答2件
あなたの回答
tips
プレビュー