Jun
Change file Modification Date from Perl
Додано в категорію (Своє, Програмування) автором KLIvan в 17-06-2011
Мітки : MacOS, Perl, touch, Програмування
Виникла потреба змінити дату модифікації файла. В Linux це можна зробити командою
touch -m -d "date" filename
Але команда ‘touch’ під MacOS приймає інші параметри, і використання її з тими параметрами, що і в Linux дає помилку:
touch: illegal option -- d
usage: touch [-acfm] [-r file] [-t [[CC]YY]MMDDhhmm[.SS]] file ...
Тому для версії Linux і MacOS довелося б писати окремі перевірки та задавати різні параметри для команди touch.
Для вирішення проблеми був написаний простий Perl скрипт, який робить все що треба:
#!/usr/bin/perl
if (@ARGV[0] eq '' || @ARGV[1] eq '') {
print "Change file modification date.\nUsage: perl_touch.pl timestamp filename\n";
exit;
}
utime undef, @ARGV[0], @ARGV[1];
Перший параметр – unix timestamp, другий – ім’я файла.
