LINUX.ORG.RU

Помощь в освоении команд.

 , ,


1

1

Доброго времени суток! Осваиваю debian, хочу одной командой: отобразить атрибуты всех файлов системы, расположенных во всех доступных пользователю каталогах При этом размер файлов 10мб и больше, Дата модификации файла - год назад или ранее. Никак не могу додуматься каким образом это сделать. Надеясь на Вашу интеллектуальную щедрость, прошу у Вас помощи,друзья!



Последнее исправление: Genera (всего исправлений: 1)

Осваиваю

Нйовичёк, говоришь. Рекомендую иметь и пользовать https://github.com/dvorka/hstr . Все найденные решения (команды) из истории вносишь в favorites и нет надобности заботится о том, чтобы помнить их наизусть.

anonymous
()

Очень интересная задача... не похожа на практическую. А вот на что похожа — так на задачу из учебника или теста.

По делу — find действительно может это в одну команду.

Vsevolod-linuxoid ★★★★★
()

Я думаю прокатит:

dir "$HOME" -file -recurse -force | where {
                                  
    $_.LastWriteTime -ge (Get-Date).AddDays(-365) -and $_.Length -ge 10mb

} | foreach {

    [pscustomobject] @{ 'File' = $_.fullname; 'Attributes' = $_.Attributes }                                                                                                                                                         
}                                                                            

Преподам нравится PowerShell, а она доступна для Debian

anonymous
()
Ответ на: комментарий от anonymous

Time -ge

Может я не русский, но для меня не очевидно, имеется ли тут в виду временной интервал или конкретный момент времени. Если момент, то решение не соответствует заданию: «дата модификации файла - год назад или ранее».

anonymous
()
Ответ на: комментарий от anonymous

-ge Больше или равно. В данном случае интевал от момента выполнения до точно такого же времени год назад (365 дней). Или можно использовать метод AddYears()

 > (get-date).tostring();(get-date).addDays(-365).tostring()
14.04.2020 20:24:21
15.04.2019 20:24:21

 > (get-date).tostring();(get-date).addYears(-1).tostring()
14.04.2020 20:25:44
14.04.2019 20:25:44
anonymous
()
Ответ на: комментарий от anonymous

Правильно ли я понимаю, что в таком случае найдутся файлы, модифицированные в течение последних 365 дней, считая с даты запуска? То есть от -365 до 0 дней.

anonymous
()
Ответ на: комментарий от anonymous

То есть от -365 до 0 дней.

Нет, попадут только те файлы, которые изменялись год назад и старше.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.