Sua pergunta não é muito clara, mas supondo que você queira dizer que os nomes de arquivo têm espaços em branco iniciais, você deseja passar por cada nome de arquivo e se ele tiver espaço em branco principal renomeie-o.
Como o novo nome pode existir, você também precisa verificar isso.
#!/bin/bash
# rename files with leading whitespace.
# append [1], [2], and so forth, if the new name exists, until an unused name is found.
rename_file() {
local old="$1" new="$2" count=1
if [[ ! -e "${new}" ]]; then
mv -v "${old}" "${new}"
else
while [[ -e "${new} [${count}]" ]]; do
count=$((count + 1))
[[ "${count}" -gt 100 ]] && exit 9 # make sure we don't accidentally loop forever...
done
mv -v "${old}" "${new} [${count}]"
fi
}
[[ -n "$1" ]] && cd "$1"
/bin/ls -1 . | grep $'^[ \t]' | while read file; do
newname="$(echo "${file}" | sed -i -e 's/^[[:space:]]*//')"
rename_file "${file}" "${newname}"
done
Isso deve fazer o truque.
Execute-o no diretório correto ou forneça um diretório como argumento.