зш -икслы:
ls -ltd -- **/*(/omf777[1,5])
Это выполняетls
(длинный список l
, снова отсортированный по времени модификации t
, и с флагом -d
для отображения только каталога, а не его содержимого )в первых 5([1,5]
)] файлов, возвращаемых рекурсивным шаблоном zsh glob , который соответствует каталогам(/
)с разрешениями 777 (f777
), упорядоченными по времени модификации(om
).
Обратите внимание, что скрытые файлы и каталоги игнорируются. Добавьте квалификатор D
glob, чтобы учесть их.
Приведенный ниже код будет вам полезен, однако вы можете сначала создать копию файлов и попробовать в этом каталоге.
#!/bin/bash
var=`find /volume1/video/ -printf '%s %p\n'| sort -nr | head -n 1 | awk '{ print $2 }'`
largestfilename=`echo $var | rev | cut -d"/" -f1 | rev`
for i in `ls -S /volume1/video/`
do
if [ ! $i == $largestfilename ]
then
rm -f /volume1/video/$i
fi
done