上學期俱樂部要做一個項目管理社群,用的SVN做版本控制,然而由于系統和用戶端上的差别,我需要對某些.svn的目錄進行遞歸删除。當時針對這個應用,就寫了一個小腳本,很小很簡單,但我覺得挺實用。
#! /bin/bash
# Remove Special File Recursively.
if [ $# -ne 2 ]; then
echo "usage: rm_spec directory targetfile." 1>&2
exit 1
fi
cd $1
goin_rm()
{
SPEC_FILE=$1
set $(ls -a)
shift 2 #skip . and ..
for FILE in $*; do
if [ -e $SPEC_FILE ]; then
rm -rf $SPEC_FILE
fi
if [ -d $FILE ]; then
cd $FILE
goin_rm $SPEC_FILE
done
cd ..
}
goin_rm $2