SOLUÇÃO 1
Crie um arquivo chamado MergeByExt.sh
if [ "$#" -ne 2 ] || ! [ -d "$1" ]; then
echo "Usage: $0 DIRECTORY EXTENSION" >&2
exit 1
fi
folder=$1
ext=$2
mkdir $2
exts=$(find $folder -type f | grep $2)
for f in $exts; do
mv $f $2
echo $f moved to $2
done
Então você pode chamá-lo assim (exemplo para mesclar todos os arquivos MP3 em uma única pasta)
MergeByExt.sh /path/to/photorec/recover/root/folder .mp3
A pasta será criada no caminho em que você executou o script
SOLUÇÃO 2
Esta solução irá criar uma pasta com cada extensão dentro de cada diretório RECUP_DIR.X
Como isso
RECUP_DIR.1\txt
RECUP_DIR.1\png
RECUP_DIR.1\jpg
RECUP_DIR.1\doc
Salve este texto em ByExtension.sh
dir=$1
if [ "x$dir" != "x" -a -d "$dir" ] ; then
cd "$dir"
fi
dir=$(pwd)
basedir=$(basename "$dir")
exts=$(find . -mindepth 1 -maxdepth 1 -type f -print | grep '^\./.*\.' | sed 's/^.*\.\([^.][^.]*\)$//' | sort -u)
for e in $exts; do
# Skip extension if this directory is already named by extension.
if [ "$basedir" = "$e" ] ; then
continue
fi
mkdir "$e"
for file in *.$e; do
mv "$file" "$e"
done
done
Você pode ir para a pasta principal onde a pasta PhotoRec recupera os arquivos e executar este comando
find . -depth -type d -print -exec /path/to/script/ByExtension.sh {} \;
Extraído do link