Я собрал много C программ вместе, и каждый из файлов создал .gch. Теперь мне не нужны файлы .gch, поэтому я решил удалить их. Но для удаления каждого файла потребовалось бы много времени, используя rm. Итак, есть ли способ удалить файлы с одним расширением за один раз?
ПРИМЕЧАНИЕ. Я работаю в Ubuntu 14.04. Я хочу, чтобы решение находилось в shell или terminal. Вопрос не является дубликатом, поскольку я хочу использовать только rm.
Чтобы удалить файлы с одним расширением в один проход, просто используйте команду find.
find /path/to/directory -type f -iname '*.gch' -delete
-type сообщает find, если вы ищете files или directories, здесь: f = файл d = каталог iname сообщает find о имя файла, который вы ищете. Примечание: name делает то же самое, но iname рекомендуется, потому что он игнорирует случаи, тогда как name этого не делает. -delete удаляет эти файлы Просто введите следующую команду в терминал (оболочка)
rm -rf /path/to/files/*.<extension>
Будьте осторожны с параметром -f. Он не будет предупреждать перед удалением.
Если вы используете C и Makefiles, вы также можете сделать цель .PHONY recipe target и rm по умолчанию и добавить побочные «крутые» файлы, которые удаляются из каталога с чистым исходным кодом. Вы по-прежнему используете маркер подстановочного символа.
make clean
, например
.PHONY clean
clean:
rm -f *.gch *.o *.temp *.log
, тогда вы умножили свою производительность при крутом устранении.