3

В терминале Linux я использую

diff - recursive - краткое dir1 dir2

Пару недель назад dir1 и dir2 были идентичны, но они оба были изменены с тех пор. Я хотел бы упорядочить вывод по дате последней модификации для файлов в dir2 (или dir1, или в зависимости от того, что является более новым, или время, когда они начали различаться).

Я посмотрел на параметры сравнения, и, кажется, не было встроенного способа сделать что-либо из этого. Кто-нибудь знает способ?

1 ответ1

1

Нет, из всех опций diff нет встроенного способа сделать то, что вам нужно. Вы должны найти свое собственное решение.

Это было бы довольно простым и простым решением для начала:

find /path/to/dir1  /path/to/dir2 -printf "%TY-%Tm-%Td %TH:%TM %p\n" | sort -r

он дает вам список файлов в обратном хронологическом порядке.

  1. Все файлы, которые были новее, чем пару недель назад, когда dir1 и dir2 были идентичными, были изменены.
  2. Измененный файл, который находится наверху списка, изменен совсем недавно. Например, если fileN в dir1 обнаруживается выше, чем dir2 , то fileN в dir1 является более новым.

Это достаточно хорошо?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .