git

My personal website source code
Log | Files | Refs | Submodules | README | LICENSE

ignore-files.sh (787B)


      1 #!/usr/bin/env bash
      2 
      3 ignore_file=".gohugoignore"
      4 project_folder="public"
      5 
      6 if [[ $# == 1 ]]; then
      7 	project_folder="$1"
      8 elif [[ $# == 2 ]]; then
      9 	ignore_file="$1"
     10 	project_folder="$2"
     11 elif [[ $# != 0 ]]; then
     12 	cat <<EOF
     13 Usage:
     14 	ignore-files.sh
     15 	ignore-files.sh <ignore file> <publish-folder>
     16 	ignore-files.sh <publish-folder>
     17 EOF
     18 fi
     19 
     20 if [ ! -f "$ignore_file" ]; then
     21 	echo "Ignore file $ignore_file not found."
     22 	exit 1
     23 fi
     24 
     25 if [ ! -d "$project_folder" ]; then
     26 	echo "Project folder $project_folder not found."
     27 	exit 1
     28 fi
     29 
     30 while IFS= read -r -d $'\n' ientry; do
     31 	while IFS= read -r -d $'\n' fentry; do
     32 		echo "Ignoring $fentry..."
     33 		rm -rf "$fentry"
     34 	done < <(find "$project_folder" | sed "s|^$project_folder||" | grep "$ientry" | sed -e "s|^|$project_folder|")
     35 done < <(cat "$ignore_file")