git-annex/doc/tips/finding_duplicate_files/comment_3._comment

39 lines
1.1 KiB
Text

[[!comment format=mdwn
username="mhameed"
ip="82.32.202.53"
subject="problems with spaces in filenames"
date="Wed Sep 5 09:38:56 BST 2012"
content="""
Spaces, and other special chars can make filename handeling ugly.
If you don't have a restriction on keeping the exact filenames, then
it might be easiest just to get rid of the problematic chars.
#!/bin/bash
function process() {
dir="$1"
echo "processing $dir"
pushd $dir >/dev/null 2>&1
for fileOrDir in *; do
nfileOrDir=`echo "$fileOrDir" | sed -e 's/\[//g' -e 's/\]//g' -e 's/ /_/g' -e "s/'//g" `
if [ "$fileOrDir" != "$nfileOrDir" ]; then
echo renaming $fileOrDir to $nfileOrDir
git mv "$fileOrDir" "$nfileOrDir"
else
echo "skipping $fileOrDir, no need to rename."
fi
done
find ./ -mindepth 1 -maxdepth 1 -type d | while read d; do
process "$d"
done
popd >/dev/null 2>&1
}
process .
Maybe you can run something like this before checking for duplicates.
"""]]