6

Эта команда найдет файлы нулевого размера:

find . -size 0

Возвращенное имя файла может быть

filename.001

Я ищу один лайнер, который будет удалять файлы, найденные с этим, плюс любой, который имеет то же имя файла с другим расширением (которое будет иметь ненулевой размер), поэтому эти файлы также будут удалены:

filename.txt
filename.bak
filename.ZZz

1 ответ1

6
$> find . -size 0 | while read f; do rm "${f%.*}."* ; done

объяснение:

  1. найти все файлы с размером 0
  2. передать имена в цикл while
  3. вырезать часть суффикса (расширения) ${f%.*} (читайте man bash)
  4. rm все остальные файлы с той же базой

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .