小ネタ。「【Unix】タイムスタンプを変更する」を調べたときに使った Perl スクリプト。
#!/usr/bin/perl use strict; use warnings; use Date::Manip; my @s = stat "IMG_0036.MOV"; my $atime = $s[8]; my $mtime = UnixDate "2010-08-14T14:29:17", "%s"; utime $atime, $mtime, "IMG_0036.MOV";
Perl でファイルのタイムスタンプを変えるには utime
関数を使う。例では atime は元のファイルのものをそのまま使い、mtime だけを指定の日時に変更している。どちらのパラメータもエポック時で指定する必要があるが、その際 Date::Manip
モジュールの UnixDate
関数を使うと便利だ。
【Perl】Date::Manip モジュールで日付文字列を解析する(関数型インターフェイス編)
https://blog.delphinus.dev/2010/07/date-manip-in-functional-interface.html