Я использую ls -lRa
для рекурсивно go через мою файловую структуру.
Однако, когда я добираюсь до больших каталогов, на go через них уходит много времени.
Как вы отфильтруете эту команду ls -lRa
, чтобы, если каталог, в котором она находится, превышает определенный размер, он просто будет использовать ls -la
и не тратить время на рекурсивное прохождение через каталог.
Я хотел бы сохранить формат ls -la
.
Некоторый базовый c псевдокод может быть:
for each fileSize
do
if fileSize is greater than x
then ls -lRa on that directory
else
ls -la dir on that directory
fi
done
Как мне получить переменную fileSize в этот пример.
Я знаю, что могу использовать -ls -la | awk '{print $5}'
, но как мне выполнить проверку, чтобы убедиться, что это число меньше / больше, чем по отношению к каталогу, которому принадлежит размер?