У меня есть несколько файлов .JPG, и я хочу, чтобы они были файлами .jpg, но каждый предлагаемый сценарий переименования использует "mv", а на странице руководства (на Mountain Lion) для mv говорится, что он выполняет копирование и удаление, что объясняет, почему, когда я запускаю сценарий все даты «создания / изменения / и т. д.» изменяются на текущую дату. Я не хочу, чтобы это случилось. Что я могу сделать?
Итак, я хочу повозиться с этим. Я даже нашел старый добрый файл, измененный в 2006 году.
$ stat -f "%m%t%Sm %N" *
1347657595 Sep 14 23:19:55 2012 1.JPG
1347715529 Sep 15 15:25:29 2012 2.JPG
1156277764 Aug 22 22:16:04 2006 3.JPG
1347657554 Sep 14 23:19:14 2012 4.JPG
1347657554 Sep 14 23:19:14 2012 5.JPG
1347741772 Sep 15 22:42:52 2012 6.JPG
Сделайте для них новый каталог
$ mkdir renamed
Пройдите через них петлей
$ for i in *.JPG ; do cp -p $i renamed/`echo $i|sed 's/JPG$/jpg/g'` ; rm $i ; done
Теперь они находятся в newdir и удалены из текущего каталога. Но мы хотим их вернуть - хотя использовать mv не можем.
$ for i in renamed/* ; do cp -p $i . ; rm $i ; done
$ rm -rf renamed/
Тадаа
$ stat -f "%m%t%Sm %N" *
1347657595 Sep 14 23:19:55 2012 1.jpg
1347715529 Sep 15 15:25:29 2012 2.jpg
1156277764 Aug 22 22:16:04 2006 3.jpg
1347657554 Sep 14 23:19:14 2012 4.jpg
1347657554 Sep 14 23:19:14 2012 5.jpg
1347741772 Sep 15 22:42:52 2012 6.jpg
Использовать touch -r
чтобы установить метку времени одного файла для другого.
cp oldfile newfile
touch -r oldfile newfile
Который touch
говорит "Установите отметку времени newfile
к отметке времени oldfile
. "
Вот сообщение в блоге с более подробной информацией о touch
и как это использовать.
Однако все это копирование + касание не обязательно. Вы говорите, что в руководстве написано, что «mv говорит, что копирует и удаляет», но это неверно. Я думаю, вы могли неправильно это прочитать. Вы должны уметь использовать mv
переименовать файл. Вы можете столкнуться с проблемой, потому что в файловой системе Mac HFS + имена файлов нечувствительны к регистру, поэтому «foo.jpg» - это то же самое, что «FOO.JPG».