Список файлов, измененных между определенным периодом времени

Я пытаюсь получить список файлов, измененных в определенный период времени, как описано в в этом ответе.

Я сохранил дату и время в двух переменных [nn и nn1 (глупые имена)] и попытался с помощью команды find. Я получил следующую ошибку -

vikram@vikram-Studio-XPS-1645:~$ echo $nn1
10-04-12 23:26:48
vikram@vikram-Studio-XPS-1645:~$ echo $nn
10-05-12 00:26:48
vikram@vikram-Studio-XPS-1645:~$ find . -newermt $nn -and -not -newermt $nn1 -print
find: paths must precede expression: 00:26:48
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
vikram@vikram-Studio-XPS-1645:~$

Почему эта ошибка происходит ??

7
задан 13 April 2017 в 15:24

1 ответ

Ваш синтаксис немного отключен. Давайте повторим это с помощью значимых имен переменных; мы лучше поймем, что происходит, когда будем идти вперед.


export newerthan="2012-10-04 00:05:00"
export olderthan="2012-10-05 16:30:00"
find . -newermt "$newerthan" ! -newermt "$olderthan"

Сначала будут найдены файлы и каталоги, измененные после 4 октября 2012 г., в 12:05. Затем он удалит результаты, которые были изменены после 5 октября 2012 года, в 16:30.


Чтобы получить результаты без начальных ./ в каждой строке, используйте эту команду:

find . -newermt "$newerthan" ! -newermt "$olderthan" | sed 's/^.\///g'
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: