Вот некоторый (довольно неэффективный) псевдокод, чтобы вы начали:
for filename in (recurse through all files)
skip if size(filename) < 100K
display filename
response = ask user what they want to do
if response == "delete"
delete filename
write filename + current time to logfile
else if response == "compress"
compress filename
Это неэффективно, потому что он будет проходить через каждый файл, даже если он меньше, чем 100K. Оптимизация с помощью find
вместо цикла for
будет для вас упражнением.
Теперь, с помощью Bash, вы можете легко просматривать файлы, установив shopt -s globstar
и shopt -s nullglob
, а затем используя **/*
:
for file in /home/username/**/*; do
echo "$file"
done
В остальном это действительно простой сценарий Bash. Выполняя веб-поиск примеров команд ("получить ввод от пользователя", "записать в файл", "сжать файл"), вы найдете множество ресурсов в Интернете.