Как перечислить файлы без каталогов с определенным временем

Я хочу перечислить все мои файлы, начиная с моего домашнего каталога, который был создан или обновлен за последние 10 часов.

ls -l | find /home/$user -mmin -600 | grep -v '^d'

Я попробовал это, но это дало мне неправильный результат.

1
задан 5 December 2017 в 02:35

6 ответов

Нет необходимости в ls -l. Ваша строка должна быть, например, если вы хотите, чтобы файлы были не более 600 минут:

find /home/$USER -mmin -600 | grep -v '^d'

не знаете, почему вы хотите оставить все файлы, начиная с d, но это ваша вещь, чтобы знать. если вы хотите найти каталоги, ваша команда должна быть:

find /home/$USER -type d -mmin -600

, и если вы просто хотите, чтобы в это время были изменены только все файлы:

find /home/$USER -type f -mmin -600

Из man-страницы для find command

-mmin n
   File's data was last modified n minutes ago
Числовые аргументы могут быть указаны как
   +n     for greater than n,

   -n     for less than n,

   n      for exactly n.
1
ответ дан 22 May 2018 в 15:39

Нет необходимости в ls -l. Ваша строка должна быть, например, если вы хотите, чтобы файлы были не более 600 минут:

find /home/$USER -mmin -600 | grep -v '^d'

не знаете, почему вы хотите оставить все файлы, начиная с d, но это ваша вещь, чтобы знать. если вы хотите найти каталоги, ваша команда должна быть:

find /home/$USER -type d -mmin -600

, и если вы просто хотите, чтобы в это время были изменены только все файлы:

find /home/$USER -type f -mmin -600

Из man-страницы для find command

-mmin n File's data was last modified n minutes ago Числовые аргументы могут быть указаны как +n for greater than n, -n for less than n, n for exactly n.
1
ответ дан 18 July 2018 в 01:51

Нет необходимости в ls -l. Ваша строка должна быть, например, если вы хотите, чтобы файлы были не более 600 минут:

find /home/$USER -mmin -600 | grep -v '^d'

не знаете, почему вы хотите оставить все файлы, начиная с d, но это ваша вещь, чтобы знать. если вы хотите найти каталоги, ваша команда должна быть:

find /home/$USER -type d -mmin -600

, и если вы просто хотите, чтобы в это время были изменены только все файлы:

find /home/$USER -type f -mmin -600

Из man-страницы для find command

-mmin n File's data was last modified n minutes ago Числовые аргументы могут быть указаны как +n for greater than n, -n for less than n, n for exactly n.
1
ответ дан 24 July 2018 в 17:28

используйте -not -type d вместо grep -v '^d'

find /home/$USER -mmin -600 -not -type d

или просто -type f

3
ответ дан 22 May 2018 в 15:39
  • 1
    -not -type d является излишним, вместо этого используйте -type f – Videonauth 5 December 2017 в 02:39
  • 2
    @Videonauth, вы правы. Я редактировал свой пост. – FaxMax 5 December 2017 в 02:39

используйте -not -type d вместо grep -v '^d'

find /home/$USER -mmin -600 -not -type d

или просто -type f

3
ответ дан 18 July 2018 в 01:51

используйте -not -type d вместо grep -v '^d'

find /home/$USER -mmin -600 -not -type d

или просто -type f

3
ответ дан 24 July 2018 в 17:28
  • 1
    -not -type d является излишним, вместо этого используйте -type f – Videonauth 5 December 2017 в 02:39
  • 2
    @Videonauth, вы правы. Я редактировал свой пост. – FaxMax 5 December 2017 в 02:39

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

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