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