Вы передаете клиентам локальный маршрут LAN; поэтому они могут достичь его.
Ваши требования могут быть удовлетворены одной find
командой:
$ find path/to/dir \( -type d -o \( -type f -a -size +1024k \) \) -printf '%s %p\n'
Это говорит:
-type d
)-o
)-type f
)И(-a
)размером более 1024 КБ(-size +1024k
))-printf
)размера файла в байтах, пути к файлу и новой строки(%s %p\n
)Круглые скобки используются для группировки, но должны быть экранированы обратной косой чертой, чтобы предотвратить их интерпретацию оболочкой.
Дальнейшие пояснения приведены в man find
.
При этом печатаются файлы размером более 1024 КБ, а не точно 1024 КБ.
bash
не лучший выбор оболочки для этого. Сzsh
:
#! /bin/zsh -
zmodload zsh/stat || exit
(( $# != 0 )) || set.
files=($^argv/**/*(ND/,.LK+1))
(( $#files == 0 )) ||
stat -Ln +size -- $files
Здесь LK+1
выбирает файлы (обычные файлы только с .
), размер которых строго больше 1 КБ (1024 байта ). Для файлов размером более 1 КБ (1000 байт )замените его на L+1000
.