自分しか使わなさそうツールです。
Ubuntuではスクショを取ると、~/Pictures
に Screenshot from 2021-01-03 08-28-12.png
みたいな名前でスクショが保存されます。
放置しているとスクショが溜まって大変なので、年/月/日でディレクトリを切って、そこに移動させるスクリプトを書きました。
Perlでファイル操作するときは最近はPath::Tinyが以上に便利でいいですね。
#!/usr/bin/env perl use strict; use warnings; use Path::Tiny; my $pictures_path = shift // $ENV{"HOME"}."/Pictures"; my $pictures_dir = path($pictures_path); my $screenshot_reg = qr/Screenshot from (\d{4})-(\d{2})-(\d{2}) (\d{2}-\d{2}-\d{2}\.\w+)/; #Screenshot from 2021-01-03 08-28-12.png for my $file ($pictures_dir->children(qr/Screenshot from/)) { if ($file !~ /$screenshot_reg/) { print "[ERRPR] failed parse", $file->[0],"\n"; } my $year = $1; #2021 my $month = $2; #01 my $day = $3; #03 my $picture_name = $4; #08-28-12.png my $new_picture = path("$pictures_dir/Screenshot/$year/$month/$day/$picture_name"); $new_picture->touchpath; $file->move($new_picture); }