74 lines
1.0 KiB
Bash
Executable File
74 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
CACHEDIR=$HOME/.cache/trimTmp
|
|
|
|
getAllOccurrences() {
|
|
:> $CACHEDIR
|
|
find . -print0 | while read -d $'\0' file
|
|
do
|
|
echo "$file" | grep " " > /dev/null
|
|
|
|
if [ $? -eq 1 ]; then
|
|
continue
|
|
fi
|
|
|
|
echo "$file -> ${file// /}"
|
|
|
|
echo "$file" >> $CACHEDIR
|
|
done
|
|
}
|
|
|
|
getNewOccurrences() {
|
|
getAllOccurrences > /dev/null
|
|
|
|
for file in `cat $CACHEDIR`
|
|
do
|
|
echo "$file" | grep " " > /dev/null
|
|
|
|
if [ $? -eq 1 ]; then
|
|
continue
|
|
fi
|
|
|
|
echo "$file -> ${file// /}"
|
|
mv "$file" "${file// /}"
|
|
|
|
getNewOccurrences
|
|
|
|
exit
|
|
done
|
|
}
|
|
|
|
# IFS: https://bash.cyberciti.biz/guide/$IFS
|
|
doTheTrimming() {
|
|
#touch $CACHEDIR
|
|
|
|
getAllOccurrences
|
|
|
|
echo -n "Do you want all the changes? [y/N] "
|
|
read answer
|
|
|
|
IFS=$'\n'
|
|
|
|
if [ $answer = "y" ]; then
|
|
for file in `cat $CACHEDIR`
|
|
do
|
|
echo "$file" | grep " " > /dev/null
|
|
|
|
if [ $? -eq 1 ]; then
|
|
continue
|
|
fi
|
|
|
|
echo "$file -> ${file// /}"
|
|
mv "$file" "${file// /}"
|
|
|
|
getNewOccurrences
|
|
|
|
exit
|
|
done
|
|
fi
|
|
|
|
#rm $CACHEDIR
|
|
}
|
|
|
|
doTheTrimming
|