Насколько я понимаю, терминал Mac использует bash как оболочку. Следующая команда оболочка удаляет файлы, которые вы хотите (все, кроме 1,4,7,10 и т.д.): Я предполагаю, что файлы пронумерованы 000number.ext
shopt -s extglob; for file in [0-9]*; do number=${file%%.ext}; number=${number##+(0)}; if ((number%3 != 1)); then rm $file; fi; done
Некоторые комментарии: ${file%%.ext}
удаляет расширение из файл с использованием специального синтаксиса bash для удаления суффикса из строки. Если ваши файлы не имеют расширения, вы должны удалить эту команду.
${number##+(0)}
удаляет ведущие нули из числа (в противном случае число будет обрабатываться как восьмеричное по оболочке). Для этого необходимо установить опцию extglob (начиная с shopt -s extglob
перед основным скриптом).
((number%3 != 1))
действителен только для чисел 1,4,7,10, (что дает остаток 1 при делении на 3).
Предлагаю вам сначала проверить, используя echo
вместо rm
перед запуском этого с помощью rm, чтобы убедиться, что все как ожидается.