Я скомпилировал многих C
программы вместе и каждый файл имели a .gch
созданный. Теперь я не хотел .gch
файлы, таким образом, я решил удалить их. Но потребовалось бы много времени с помощью rm
для удаления каждого файла. Так есть ли способ удалить файлы с тем же расширением сразу?
Примечание: Я работаю в Ubuntu 14.04. Я хочу решение быть в shell
или terminal
. Вопросом не является дубликат, поскольку я хочу использовать rm
только.
легко используйте расширение" * ":
rm /path-to-directory/*.gch
Это, что называют расширением имени файла, которые используют некоторые специальные символы, названные подстановочными знаками.
предполагают, что у Вас есть каталог, содержащий файлы (файл, file0, file1, file01)
Некоторые знают подстановочные знаки:
вопросительный знак (? ), специальный символ, который заставляет оболочку генерировать имена файлов. Это соответствует любому отдельному символу от имени существующего файла.
пример:
ls file?
оболочка разворачивает "файл?" аргумент и генерирует список файлов в рабочем каталоге, которые имеют имена, состоявшие из "файла", сопровождаемого любым отдельным символом.
Затем вывод был бы file0 и file1
, звездочка (*) выполняет функцию, подобную тому из вопросительного знака, но соответствует любому количеству символов, включая нулевые символы, в имени файла.
теперь вывод команды:
ls file*
был бы файл, file0, file1 и также file01
[] Специальные символы причины оболочка для соответствия именам файлов, содержащим отдельные символы в скобках.
, например, вывод команды:
ls file[01]*
был бы:
file0 file1 file01
Это - просто простое введение для расширения оболочки, можно читать больше:
Для удаления файлов с тем же расширением сразу просто используйте 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 и Make-файлов можно также сделать.PHONY цель рецепта и комнату по умолчанию и добавить файлы "хлама" побочного продукта, которые каждый удаляет из чистого исходного каталога. Вы все еще используете подстановочный знак * маркер.
make clean
, например
.PHONY clean
clean:
rm -f *.gch *.o *.temp *.log
затем Вы умножили свою производительность в устранении хлама.