• ベストアンサー

テキストファイルの引き算

salsberryの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

UNIX系のOSであれば、 cat A.TXT B.TXT | sort | uniq -u で実現できます。ただし、A.TXTの中には重複した行がないこと、B.TXTに含まれている行は全てA.TXTに含まれていることが前提として必要です。 同じことをWindows XPでやるにはCygwinをインストールするなどの方法がありますが、これだけのためにCygwinをインストールするのは大袈裟という気もします。

関連するQ&A

  • コマンドプロンプトでテキストの引き算をする方法

    コマンドプロンプトで2つのテキストファイルの引き算をする方法があれば、ご教授いただきたいです。 A.TXT --- 11111 22222 33333 44444 B.TXT --- 33333 11111 55555 A.TXTからB.TXTを引き算して、 --- 11111 44444 を出力したいです。 エクセル上でなんとかならなくもないのですが、1万件単位で何度もチェックをする予定のため、コマンドプロンプトからコマンド一発でできる方法はないかと思い、質問させていただきました。 よろしくお願い致します。

  • BATファイルによるfcコマンドでのファイル比較のエラー

    BATファイルによる、fcコマンドでのファイル比較を行いたいのですが、直接コマンドプロンプトで実行した場合では、正常に結果が指定ファイルに出力されるのに対して、BATファイルで同様のコマンドを実行しても, fcコマンドの比較結果が正常に出力されません。 原因を分かる方がいらっしゃいましたら、教えて頂けますでしょうか? 実行するfcコマンド内容 fc c:\a.txt c:\b.txt > c:\c.txt

  • DLLの登録をVBで行いたい(VB2005)

    いつもお世話になっております。 VB2005で開発しています。 DLLを登録するときに、コマンドプロンプトから regsrv32 ファイル名.dll と実行すると思います。 これをVBから行いたいのですが、何か良い方法はございませんか? 具体的には、VBでレジストリ登録するファイルの一覧を出力して、 それをレジストリ登録したいのです。 VBとバッチを組み合わせれば、実現可能なのですが、 ファイルを2つに分けたくないので、VBだけで処理できないものかと 思いました。 コマンドプロンプトで実行するコマンドをVBから同じように実行できれば良いのですが・・・ もしよろしければ、ご教示ください。 よろしくお願い致します。

  • バッチファイルで実行できたりできなかったり

    こんにちは。 バッチファイルとコマンドプロンプトについて、少々お伺いしたいことがあります。 まず、コマンドプロンプトで以下のコマンドを打ち込んでみたところ、すべて正常に実行することができました。 ping [example.com] > result.txt tracert [example.com] >> tr_result.txt ipconfig /all > ipc_result.txt 次に、各コマンドをテキストファイルに書き込んで、それぞれ "p_test.bat" # 内容は ping コマンド "tr_test.bat" # 内容は tracert コマンド "ipc_test.bat" # 内容は ipconfig コマンド と命名しデスクトップに配置、ダブルクリックで実行してみました。 すると、このうち正常に実行(結果をテキストファイルに出力)されたのは tr_test.bat のみでした。 ここで質問なのですが、なぜこのような違い(バッチファイルにすると実行できるものとできないものに分かれる)が起こるのでしょうか? バッチファイルの作り方やとコマンドプロンプトについて調べてみましたが、説明を見つけることが出来ませんでした。 この辺の理論について詳しい方がおりましたら、ご教示頂きたく思います。 ちなみに、OS は Windows XP SP2 です。 よろしくお願いいたします。

  • テキストファイルの分割 

    下記(1)のようなテキストファイルを下記(2)のような状態に分割したいです。 バッチ?コマンドプロンプト?等で対応できそうな気はしているのですが、 方法が全く思いつきません。 上記手法に問題があれば、他の手法(VBA、エクセル等)でも問題ありません。 良い案を教えて頂けないでしょうか。 宜しくお願い致します。 (1)元のテキストファイル(タブ区切り) 氏名 教科 点数 Aさん 数学 80点 Bさん 数学 90点 Cさん 国語 90点 Dさん 数学 80点 (2)"教科"の値毎に分割して出力 数学.txt  Aさん 数学 80点  Bさん 数学 90点  Dさん 数学 80点 国語.txt  Cさん 国語 90点

  • バッチファイルでテキストファイルを分割したい

    テキストファイルを、指定した数値の倍数の行を、指定した個数に分割するバッチファイルを作成しようとしています。 例えば、以下の様な内容の「in.txt」というテキストファイルを3分割したい場合、 ----- in.txtの内容 ----- 1 2 3 4 5 6 7 8 9 10 ------------------------ 以下の様な内容で、 「out1.txt」「out2.txt」「out3.txt」として出力したいのです。 ----- out1.txtの内容 ----- 1 4 7 10 -------------------------- ----- out2.txtの内容 ----- 2 5 8 -------------------------- ----- out3.txtの内容 ----- 3 6 9 -------------------------- 自分はプログラミングの知識がないので、WEBに書かれている構文を少し書き換えたりして試しているのですが、うまく行きません。 AWKを使い、以下のようなバッチファイルを作成して実行してみましたが、「out3.txt」だけがうまく行きませんでした。構文の意味も分からないので修正も出来ません。 awk "NR%%3==1" "in.txt" > "out1.txt" awk "NR%%3==2" "in.txt" > "out2.txt" awk "NR%%3==3" "in.txt" > "out3.txt" AWKの解説ページを読み始めたのですが、時間的な猶予があまり無く、今回質問させて頂いた処理が出来るようになるまでまだ時間が掛かりそうなので、どなたかお分かりの方がおられましたお教え頂けないでしょうか。 AWKでなくとも、sedでもPerlでもその他のコマンドでも構いませんし、スクリプトファイルを読み込めるコマンドでしたらスクリプトでの書き方でも結構ですので、ご存知の方がおられましたらお教え頂けないでしょうか。

  • コマンドプロンプトでのファイル操作について

    コマンドプロンプトでのファイル操作について、ご存知のかたどうか教えてください。 a.txt b.txtという2つのファイルがあるとします。 <a.txtの内容> 1111 2222 3333 <b.txtの内容> aaaa bbbb cccc 上記の2つのファイルを読み取りc.txtというファイルへ以下のように 出力したいのですが、コマンドプロンプト(batでも問題ありません) にてできるのでしょうか? <c.txtの内容> 1111,aaaa 2222,bbbb 3333,cccc ご教授のほど、宜しくお願いします。

  • for文の制御変数の展開(バッチスクリプト)

    こんにちは。 コマンドプロンプトのバッチスクリプトにおいて、 例えば、コマンドライン引数を、a b c d e f g h i としてスクリプトを実行したときに、 No1:a No2:b No3:c No4:d No5:e No6:f No7:g No8:h No9:i のように出力させることを考えています。 この場合、バッチスクリプト内で for /L %%a in (1,1,9) do echo No%%a:%%%a のように記述すればいいかなと思ったのですが、出力は以下のようになりました。 No1:1 No2:2 No3:3 No4:4 No5:5 No6:6 No7:7 No8:8 No9:9 また、最後のaにつく%を4つに増やしたところ、出力は以下のようになりました。 No1:%1 No2:%2 No3:%3 No4:%4 No5:%5 No6:%6 No7:%7 No8:%8 No9:%9 となりました。 何か良い方法が思いついた人がいらっしゃれば、アドバイスをお願いしたいと思います。 では、よろしくお願い致します。

  • バッチファイルを起動したけど、win98では引数が長すぎて。。。

    VBからバッチファイルを起動する処理を作成中です。 SHELL コマンドで実行しているのですが、 そのバッチファイルの引数がすごく長いのです。 >batch.bat "引数1" "引数2" "引数3" とする際、引数1 ~ 引数3までの合計文字列が 128?byte を超えてしまい、 win98では、使えないプログラムがあります。 複数の引数をまとめたファイルを、バッチファイルの 引数として起動させる等、 回避作はあるのでしょうか? 教えてください。

  • コマンドプロンプトで簡単なファイルの読み込み

    ファイルAの場所 C:\file.txt ファイルBの場所 D:\file.txt それぞれのファイルには一行の文字が書かれています。 バッチファイルを使って、この二つのファイルを読み込み、内容が同じであれば、"same"をecho、そうでなければファイルAをファイルBに上書きするというバッチを作りたいのですが、コマンドプロンプトは使ったことがないので、よくわかりません。 調べてみましたが、for /fを使うのでしょうか?それぞれのファイルは一行しか文字を含まないので、もっと簡単にできそうな気もするんですけどどうなんでしょう。