私はターミナル関連のコンテンツに初めて触れましたが、上記のトピックに対する回答が見つかりませんでした。
私のOSで端末を使ってこれを行うにはどうすればよいですか?
答え1
そしてperl
:
perl -MPOSIX -le 'for (<*.jpg>) {
$d=strftime"%Y-%m-%d",localtime((stat$_)[9]);
mkdir$d;rename$_,"$d/$_" or warn "rename $_: $!\n"}'
そしてzsh
:
zmodload zsh/stat
for f (*.jpg) {stat -F %F -A d +mtime -- $f && mkdir -p $d && mv -- $f $d}
答え2
OSXで統計資料:
for file in *; do
dir="$(stat -t %Y%m%d%H%M%S -f %Sm -- "$file")"
mkdir -p "$dir"
mv -- "$file" "$dir/$file"
done
GNU statを使用する(例:LinuxやCygwinで):
for file in *; do
dir="$(stat -c %Y -- "$file")"
mkdir -p "$dir"
mv -- "$file" "$dir/$file"
done
これにより、各ファイルがmtime(エポック)に沿って名前付きディレクトリに移動されます。
ディレクトリの外観をより細かく制御するには、GNU日付を使用して割り当て行を次のように変更してフォーマットを再指定できます。
dir="$(date -d @"$(stat -c %Y -- "$file")" +%F)"
man date
利用可能な日付形式の仕様については、参考資料を参照してください。この場合は%F
次のようになります。
%F 日付全体、%Y-%m-%d と同じ