Относительно приравнивания атрибутов файла в команде «ls»

У меня есть папка, в которой есть тысячи изображений. Из этих тысяч изображений я хочу объединить все те образы, атрибуты «Последний созданный» и «Последний измененный» точно такие же. (Другими словами, я хочу отделить все изображения, которые я никогда не переименовал, например)

Есть ли способ сделать это с терминала?

это две команды, которые я хочу объединить в файл списков ls -tU по дате создания. (Я нахожусь на mac) ls -lt перечисляет файл по дате изменения

так что я хочу «Список файлов, дата создания которых была создана = дата изменена»,

2 Solutions collect form web for “Относительно приравнивания атрибутов файла в команде «ls»”

Вы можете сделать это, используя команду stat . Вот простой скрипт, который печатает имена файлов с некоторыми скидками на встроенные пробелы:

 #!/bin/sh find $* -exec stat -f '%m %B %N' {} \; | \ awk '$1 == $2 { \ s=length($1)+length($2)+3; $0 = substr($0,s); print $0; }' 

%m и %B являются соответственно измененными и время рождения (которые, как представляется, были заданы). Сценарий печатает их как десятичные числа, переходя к awk который затем печатает только строки, в которых эти числа одинаковы. Поскольку ваши имена файлов могут иметь встроенные пробелы, остальная часть сценария удаляет значения временной метки со входа и печатает оставшуюся часть строки.

Дальнейшее чтение:

  • Как использовать команду stat в OS X для отображения даты / времени создания файла или каталога?
  • stat / readlink – отображение состояния файла

Мне было скучно, и у меня есть возможность использовать такой скрипт, поэтому я изменил Томаса Дики совсем не так, а не так, как например, так, чтобы вы могли обращаться со всеми именами файлов (даже с новыми символами) и легко менять разделитель между именами файлов (например, просто установите ORS на "\0" чтобы переслать его на xargs -z … )

 #!/bin/sh find "${1-.}" -type f -exec stat --printf '%n\0%Y %W\0' -- {} \; | \ awk 'BEGIN { RS = "\0"; FS = " "; ORS = "\n"; } { if (NR % 2) { f = $0; } else if ($1 == $2) { print f; } }' 

Не полностью POSIX из-за, например, --printf .

  • sed на вставке OSX на определенной строке
  • Импорт файлов Python из внутренних папок
  • Увеличение настроек `ulimit -u` временно в OSX Yosemite
  • Как я могу узнать, к какой организации принадлежит специальный инструмент командной строки?
  • Как включить доступ к Интернету без использования скрипта gui или apple на снежном барсе?
  • Создание постоянного USB с минимальной ОС на os x
  • Разница в расчете размера каталога
  • информация о ходе работы через pv для копирования каталога
  • Где я могу найти, где находится файл .htaccess и используется на сервере Mac OS X Lion, который устанавливает Basic Auth на сервере Apache?
  • Mac Terminal - переименовать * .png.png в * .png
  • Есть ли что-то вроде вина для запуска приложений OSX на Linux?
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.