電子書籍の厳選無料作品が豊富!

初心者です。

2つのファイル(.log)を比較し、条件が満たしているレコード(行)を抽出する方法を教えてください。



Aファイル

11.111.111
22.222.222
33.333.333
44.444.444


Bファイル

11.111.111.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
22.333.444.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
22.222.222.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
33.333.355.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
33.333.555.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
44.444.444.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200




Cファイル
11.111.111.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
22.222.222.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200
44.444.444.1111 [01/Jun/2007:00:00:00 +0000] "GET / test.html 200


このように、AファイルとBファイルを比較し、結果をCファイルに抽出したいです。
エクセルでVlookupの関数を使う方法もありますが、Bファイルは容量が重いのでエクセルデータでは全部読み
取ることができません。
よって、UNIXコマンドでなんとか作業をしたいものです。
commを使う作業もありますが、手作業で不要な部分を削除していくのも大変なのでできれば自動化が希望です。

パソコンのOSはWin2000です。

どなたかご知恵をお借りください。
よろしくお願いします。

A 回答 (11件中11~11件)

> UNIXコマンドでなんとか作業をしたいものです。



Windowsに何かその種のコマンドをインストールしてよい
ということであれば、PerlでもRubyでも、awk(gawk)でも
できると思いますが何か条件は他にありますか?

それからBファイルが大きいというのはわかりましたが、
Aファイルはどのくらいでしょうか?

この回答への補足

説明不足ですいません。
当方は初心者でawk(gawk)、sort、grep、wc、comm、catは使ったことがなく知りません。(ちなみにこのパソコンは会社のパソコンで、最初からインストールしていると思います。cygwinからインストールするのは存知じています。)

Aファイルは軽い方です。

よろしくお願いします。

補足日時:2007/08/27 19:17
    • good
    • 0
この回答へのお礼

ごめんなさい。文章を誤りました。
(補足の訂正ができないらしいので、回答へコメントを加えます)

誤:当方は初心者でawk(gawk)、sort、grep、wc、comm、catは使ったことがなく知りません。



正:当方は初心者でawk(gawk)、sort、grep、wc、comm、catしか使ったことがなく他は使い方を知りません。

お礼日時:2007/08/27 19:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!