読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

クラスファイルを比較するスクリプト

シェルスクリプト

Javaのクラスファイルを比較するスクリプトを作りました。

  • 引数で指定したディレクトリx2内のクラスファイルを再帰的に探索し、
  • javapで解析。
  • 解析結果をdiffで比較する。

というものです。

#!/bin/bash

javap_r() {
  mkdir $1
  for file in `find $2 -name "*.class"`; do
    javap_file=`echo $file | sed -e "s/${2//\//\\\/}/${1//\//\\\/}\//"`
    mkdir -p ${javap_file%/*}
    class=`echo ${file//\//.} | sed -e "s/${2//\//\.}//"`
    javap -classpath $2 -c ${class%.*} > $javap_file
    echo "javap $file to $javap_file"
  done
}

rm -rf "./a"
rm -rf "./b"
javap_r "./a" $1
javap_r "./b" $2
diff -r ./a ./b

使い方は以下。

$ ./class_diff.sh <クラスファイル置き場1> <クラスファイル置き場2>

実行時にはjavapがPATHに通っている必要があるので、その点のみご注意。