Javaプロジェクトのパッケージ名をざっくり変えたい
自分のローカルにあるjp.programmersパッケージになっているサンプルコードとかのプロジェクトをcom.redhat.jbossパッケージとかにリネームしてお客様に渡したいなー、というケースがあったのでシェルスクリプト書いた。
#!/bin/sh # Usage: ./repackage.sh org.example com.example.foo FROM_PACKAGE=$1 TO_PACKAGE=$2 find . -type f -not -name '.*' | xargs perl -i~ -pe "s/\Q$1/$2/g" FROM_PACKAGE_DIR=`echo $FROM_PACKAGE | tr . /` TO_PACKAGE_DIR=`echo $TO_PACKAGE | tr . /` mkdir -p src/main/java/$TO_PACKAGE_DIR mv src/main/java/$FROM_PACKAGE_DIR/* src/main/java/$TO_PACKAGE_DIR/ if [ -d src/test/java ]; then mkdir -p src/test/java/$TO_PACKAGE_DIR mv src/test/java/$FROM_PACKAGE_DIR/* src/test/java/$TO_PACKAGE_DIR/ fi