photorec
復元されたファイルを含む2481個のフォルダを含むデータ回復プロセスのフォルダがあります。
フォルダ名の順序はrecup_dir.1、recup_dir.2 ... recup_dir.2481です。
以下を使用して、このフォルダのすべての拡張子のリストを取得しました。
find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u
photorecorg
したがって、上記のコマンドで取得した各拡張子に対応するフォルダのリストを含む別のディレクトリを作成しました。
mkdir 7z arj asf avi bat blend bmp bz2 cdr DOC docx flac flv gif gz html jpg mobi mov mp3 mp4 mpg ods odt ogg pdf php png ppt ps psd rar rtf svg swf tar tif ttf wav wmf xcf xls xlsx xz zip
これで、フォルダ内のファイルをphotorec
次の拡張フォルダにコピーする必要がありますphotorecorg
。
想像find . -print | xargs cp $0 ../photorecorg/<extension>
各拡張ディレクトリにファイルを見つけてコピーできるコマンドは何ですか?
ベストアンサー1
photorec='/pathto/your_photo_recovery_folder'
photorecorg='/pathto/your_photo_recorg_folder'
cd "$photorec" && \
EXTDIR="$photorecorg" find . -type f -name '*.?*' -exec sh -c '
for f
do
dest=${EXTDIR}/${f##*.}
cp -p "$f" "$dest/."
done
' x {} +