Можете ли вы порекомендовать мне, какие шаги следует предпринять после того, как PhotoRec создаст несколько таких каталогов, как этот
RECUP_DIR.1
RECUP_DIR.2
RECUP_DIR.3
RECUP_DIR.4
Означает ли эта папка что-то из того, что они являются случайными именами?
Например, я хочу, чтобы все изображения (png / jpeg / аналогичные расширения) были в одной папке, все изображения DOC - в другой, и поэтому
РЕШЕНИЕ 1
Создайте файл по имени 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
Затем можно назвать его как это (пример для слияния всех файлов MP3 в единственной папке)
MergeByExt.sh /path/to/photorec/recover/root/folder .mp3
Папка будет создана в пути, были Вы, выполнил сценарий
РЕШЕНИЕ 2
Это решение создаст папку с каждым расширением в каждом каталоге RECUP_DIR.X
Как это
RECUP_DIR.1\txt
RECUP_DIR.1\png
RECUP_DIR.1\jpg
RECUP_DIR.1\doc
Сохраните этот текст к 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/^.*\.\([^.][^.]*\)$/\1/' | 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
Вы могут перейти к основной папке, где папка PhotoRec восстанавливает файлы и выполняет эту команду
find . -depth -type d -print -exec /path/to/script/ByExtension.sh {} \;