Мне нужно сделать какой-нибудь скрипт hdguard. Я застрял, потому что я должен сделать нумерованный список всех доступных для записи файлов нормального типа (без каталогов ссылок и т. Д.). Список должен включать только имена и размеры файлов. Затем я должен выбрать файлы, которые я хочу удалить по номерам.
Я перепробовал все виды ls
функций и find
функций, но никоим образом не удовлетворил меня.
ls -Ss1pq --block-size=1
- самое близкое, что я могу получить, но он не отображает файлы в подкаталогах и каталогах (должен отображать только доступные для записи файлы).
Желаемый вывод:
1. [size] [filename]
2. [size2] [filename2]
...
После того как я выбрал, например, «1», скрипт должен создать txt-файл со списком путей к каждому выбранному файлу.
Итак, у меня есть это
find /homee -type f -not -path '/\.*' |sort -r -n -k7
Становится лучше
find /homee -type f - ls -not -path '/\.*' -exec du -hs {} + |sort -r -n -k7
а как отображать только имена, а не путь?
я также могу пойти с
find /homee -type f -not -path '/\.*' -exec du -hs {} + |sort -r -n -k7 |sed 's/.*\///' | nl
но сейчас там нет размеров файлов
что мне делать?