概要:
- 重複ファイルの検出と移動。
- 画像と動画ファイルのメタデータに基づく整理。
- 年月ごとのディレクトリにファイルを分類。
- ファイル名を作成日時または更新日時に基づいて標準化。
目的:
- ファイルの重複を削減してディスクスペースを節約。
- ファイルを日付に基づいて整理し、管理を容易にする。
- ファイル名を標準化することで、ファイルの識別と検索を簡単にする。
#!/bin/bash
# 必要なパッケージのインストール
sudo apt-get update
sudo apt-get install -y fdupes exiftool
# 対象ディレクトリの設定
target_directory=${1:-$(pwd)}
duplicate_directory="./duplicates"
# 重複ディレクトリの作成
mkdir -p "$duplicate_directory"
# 重複ファイルの検出と移動
fdupes -r -N "$target_directory" | while read file; do
if [ -f "$file" ]; then
mv "$file" "$duplicate_directory"
fi
done
# ファイルの整理
for file in "$target_directory"/*; do
if [[ -f "$file" ]]; then
# メタデータから日付の取得
date=$(exiftool -d "%Y-%m-%d_%H%M%S%%-c.%%e" -DateTimeOriginal -CreateDate -ModifyDate -FileModifyDate -n "$file" | awk 'NR==1{print $4}' | sed 's/:/-/g')
# ディレクトリの作成
new_directory="$target_directory/${date:0:7}"
mkdir -p "$new_directory"
# ファイル名の更新と移動
new_file_name="${date}_${file##*/}"
mv "$file" "$new_directory/$new_file_name"
fi
done
echo "ファイルの整理が完了しました。"
コメント