All pastes #62662 Raw Edit

Anonymous

public text v1 · immutable
#62662 ·published 2006-06-06 19:18 UTC
rendered paste body
#!/bin/bash

# This script will recursively search for and remove all files case
# insensitively matched against the content of the variable UNWANTED. It is
# thought of as a way of removing files created by foreign operating systems,
# i.e. Apple's .AppleDB and lots of others.

declare -ra UNWANTED=(".appledb" ".appledesktop" ".appledouble" ".ds_store" "._.ds_store" ":2eDS_Store")

declare -r DIR=${1:-.}

echo $DIR

if test -d $DIR
    then
    echo "Performing cleanup of files in $DIR that case insensitivley match \"${UNWANTED[*]}\""
    
    
    FIND_OPTION="\( -iname \"${UNWANTED[0]}\""
    NAME_NUMBER=${#UNWANTED[*]}
    
    for I in $(seq $((NAME_NUMBER-1)))
      do
    
      FIND_OPTION="$FIND_OPTION -or -iname \"${UNWANTED[I]}\""
    done
    FIND_OPTION="$FIND_OPTION \)"
    echo $FIND_OPTION
    find $DIR $FIND_OPTION -exec ls -l {} \;

else 
    echo "$DIR does not exist! exiting..."
    exit 1
fi

exit 0