- ベストアンサー
ファイルを行ごとに比較するシェルスクリプトについて
ファイルを行ごとに比較するシェルスクリプトをご教授ください。 例えば(master.txt)(a.txt)(b.txt)(c.txt)(ok.txt)(ng.txt)と4つのファイルがあり、 (master.txt)と(a.txt)の行を比較し(a.txt)の中のある行が(master.txt)の行と一致した場合(ok.txt)に (master.txt)の行と一致しなかった場合(ng.txt)に入れる。 その後(master.txt)と(b.txt)の比較し(a.txt)が使用したものと同じ(ok.txt)or(ng.txt)に入れる・・・ といったように繰り返していくシェルスクリプトはどのようにして作成するのでしょうか? txtファイルの中の行はランダムに入っており、x.txtの一行一行ををmaster.txtの全行と比較する必要があります。 自分で作ってみたものは、while文を2重で使い一行ずつ取り出しcase文で行が一致した物を(ok.txt)に入れる 所までは成功しているのですが、複数回繰り返す時にどのようなロジックで不一致行を(ng.txt)に入れる ことができるのかが考え付きませんでした。 よろしくお願いいたします。
補足
すいません、書き間違えていました。 (a.txt)を(ok.txt)や(ng.txt)に入れるのではなく、(master.txt)を(ok.txt)や(ng.txt)に入れて、 2回目より(ng.txt)を(master.txt)にリネームして回そうと考えていたのですが、 (master.txt)を(ng.txt)に入れるロジックが分からないのです。 while文を2重で使いその内側のcase文にて一致を(ok.txt)に入れそれ以外を(ng.txt)にいれると 内側が回転する毎に(master.txt)の一致しない全ての行が(ng.txt)に入ってしまうので、 全て不一致だと(master.txt)の行×(a.txt)の行分(ng.txt)に入ってしまうことになり手詰まりになりました・・・