Как искать файлы размером и расширением?

Проверьте schroot, который может chroot в папку как пользователь. Здесь страница справочника для него: http://manpages.ubuntu.com/manpages/hardy/man1/schroot.1.html

5
15.02.2012, 22:53
2 ответа

Можно попробовать следующее, для подтверждения после удаления каждого файла сначала:

$ find /path/to/dir -type f -name "*.txt" -empty -ok rm {} \;

или если Вы чувствуете себя больше уверенно:

$ find /path/to/dir -type f -name "*.txt" -empty -exec rm {} \;
10
27.01.2020, 20:32
  • 1
    работы На более новых версиях find -delete опция будет более простой. –  0xC0000022L 15.02.2012, 19:34
  • 2
    имеет в виду, чтобы НЕ сделать это на/dev каталоге –  frogstarr78 16.02.2012, 06:37

Обычно, ответ на, “как делают меня … в каталоге и его подкаталогах”, включает find. Использовать -type f соответствовать регулярным файлам, -name '*.ext' ограничить конкретным расширением, и -size 0 ограничить пустыми файлами.

find /some/dir -name '*.ext' -type f -size 0 -exec rm {} +

Если Ваша версия find слишком старо, Вам, возможно, понадобится' … - исполнительная комната {} \'; вместо этого (использование + быстрее, потому что это звонит rm на многих файлах сразу). В соответствии с Linux, FreeBSD, NetBSD и OSX, можно использовать findсборка - в -delete действие и -empty предикат (эквивалентный -size 0 на регулярных файлах):

find /some/dir -name '*.ext' -type f -empty -delete

В zsh можно использовать ** шарик для рекурсивного вызова в подкаталоги и спецификаторы шарика для ограничения соответствий регулярными файлами (.), размера 0 (L0).

rm /some/dir/**/*.ext(.L0)
6
27.01.2020, 20:32

Теги

Похожие вопросы