Browse Source

unixify.sh - autoformatter

master
heck 3 years ago
parent
commit
c05962dcd1
  1. 53
      scripts/unixify.sh

53
scripts/unixify.sh

@ -8,53 +8,52 @@
# usage: inixify.sh [filename] # usage: inixify.sh [filename]
# filename The file to unixify, can be file or folder. # filename The file to unixify, can be file or folder.
export IFS=$'\n'
export IFS=$'\n'; export fname_full=$1
export fname_full=$1;
#export out=$2; #export out=$2;
function sanitise { function sanitise {
local retval=$(echo $1 | gsed -e 's/[^A-Za-z0-9#./_-]/_/g'); # replace everything else with _ local retval=$(echo $1 | gsed -e 's/[^A-Za-z0-9#./_-]/_/g') # replace everything else with _
retval=$(echo $retval | gsed -e 's/\.\{2,\}/\./g'); # replace >1 consecutive . with one . retval=$(echo $retval | gsed -e 's/\.\{2,\}/\./g') # replace >1 consecutive . with one .
retval=$(echo $retval | gsed -e 's/_\{2,\}/_/g'); # replace >1 consecutive _ with one _ retval=$(echo $retval | gsed -e 's/_\{2,\}/_/g') # replace >1 consecutive _ with one _
echo $retval; echo $retval
} }
export current_dir=$(dirname $fname_full); export current_dir=$(dirname $fname_full)
export current_file=$(basename $fname_full); export current_file=$(basename $fname_full)
export fname_new=$(sanitise $current_file); # unixify export fname_new=$(sanitise $current_file) # unixify
if [ "$current_file" != "$fname_new" ]; then { #any changes been needed? if [ "$current_file" != "$fname_new" ]; then { #any changes been needed?
count=1; count=1
while [ -e $current_dir/$fname_new ]; do { #new filename already taken? while [ -e $current_dir/$fname_new ]; do { #new filename already taken?
#echo file exists: $current_dir/$fname_new; #echo file exists: $current_dir/$fname_new;
#add suffix before any dot, if no dot just append #add suffix before any dot, if no dot just append
if [[ "$fname_new" =~ \. ]]; then { if [[ "$fname_new" =~ \. ]]; then {
fname_new=$(echo $fname_new | sed -e "s/\./_$count\./g"); fname_new=$(echo $fname_new | sed -e "s/\./_$count\./g")
} else { }; else {
fname_new=$fname_new"_$count" fname_new=$fname_new"_$count"
} fi }; fi
count=$(($count+1)); count=$(($count + 1))
} done }; done
echo -n $current_dir/$fname_new echo -n $current_dir/$fname_new
if [ "$count" -gt 1 ]; then { if [ "$count" -gt 1 ]; then {
echo " suffix nr added: $(($count-1))"; echo " suffix nr added: $(($count - 1))"
} else { }; else {
echo ""; echo ""
} fi }; fi
export cmd="mv \"$fname_full\" \"$current_dir/$fname_new\""; export cmd="mv \"$fname_full\" \"$current_dir/$fname_new\""
# echo $cmd; # echo $cmd;
eval $cmd; eval $cmd
} else { }; else {
echo -ne; echo -ne
echo $fname_full" filename already ok."; echo $fname_full" filename already ok."
} fi }; fi

Loading…
Cancel
Save