On 2009-07-01 18:20 (+0300), Teemu Likonen wrote:
> find -type f -print0 | xargs -0 sh -c 'for file in "$@";
> do dir=$(dirname -- "$file") && base=$(basename -- "$file") &&
> (cd "$dir" && echo mv -- "$base" "${base#???}"); done' ignore
Let's simplify it a bit:
find -type f -print0 | xargs -0 sh -c 'for file in "$@";
do dir=$(dirname -- "$file") && base=$(basename -- "$file") &&
echo mv -- "$file" "$dir/${base#???}"; done' ignore
This does it without "cd".