私は、ソートされていないフォルダから新しく作成されたディレクトリにさまざまなファイルタイプをソートして処理する優れた対話型スクリプトを持っています。スクリプトを使用して元に戻す操作を実行します。
私は小さなスクリプトを書いたり、実行されたスクリプトを元に戻したり元に戻したりできるように、必要に応じて元のソートの状態に戻すことができるように、小さなスクリプトを書くか、あなたが実行している各アクションの逆のアクションとスクリプトを生成したい場合は
#!/bin/bash
read -p "Good Morning, Please enter your file type name for sorting [ENTER]:" all_extensions
if cd /Users/christopherdorman/desktop
then while read extension
do destination="folder$extension"
mkdir -p "$destination"
mv -v unsorted/*."$extension" "$destination"
done <<< "${all_extensions// /$'\n'}"
mkdir -p foldermisc
if mv -v unsorted/* "foldermisc"
then echo "Good News, the rest of Your files have been successfully processed"
fi
for i in folder*/; do
ls -S "$i" > "${i}filelist"
cat "${i}filelist" >> ~/desktop/summary.txt
done
fi
非常に具体的な理由がない限り、 '-r'引数を' read'に使用することを習得することを検討してください。また、個々の 'cat'コマンドではなく、'〜 '/ desktop/summary.txt'にリダイレクトすることを考えてください。同じ出力ファイルを何度も何度も再オープンする必要はありません。 –
ありがとうございました –
Hmm。実際、名前の変更に関しては、すべてが同じファイルシステム上にある場合は、元の構造のハードリンクツリーバックアップを作成するだけで済みます。これは、すべてのPOSIX準拠のファイルシステムで動作します。新しい構造を調べて結果が気に入ったら、バックアップを削除してください。ハードリンクの魔法のため、実際のストレージブロックを割り当てる必要はありません(ディレクトリオブジェクト自体を除いて)。これは、リバーススクリプトアプローチが修正できない状況(複数のソースファイルの名前を同じ宛先名に変更するなど)に対しても保護します。 –