Как удалить файлы с тем же расширением сразу с помощью комнаты?

Я скомпилировал многих C программы вместе и каждый файл имели a .gch созданный. Теперь я не хотел .gch файлы, таким образом, я решил удалить их. Но потребовалось бы много времени с помощью rm для удаления каждого файла. Так есть ли способ удалить файлы с тем же расширением сразу?

Примечание: Я работаю в Ubuntu 14.04. Я хочу решение быть в shell или terminal. Вопросом не является дубликат, поскольку я хочу использовать rm только.

2
задан 24 January 2016 в 08:58

4 ответа

легко используйте расширение" * ":

rm /path-to-directory/*.gch

Это, что называют расширением имени файла, которые используют некоторые специальные символы, названные подстановочными знаками.

предполагают, что у Вас есть каталог, содержащий файлы (файл, file0, file1, file01)

Некоторые знают подстановочные знаки:

вопросительный знак (? ), специальный символ, который заставляет оболочку генерировать имена файлов. Это соответствует любому отдельному символу от имени существующего файла.

пример:

ls file?

оболочка разворачивает "файл?" аргумент и генерирует список файлов в рабочем каталоге, которые имеют имена, состоявшие из "файла", сопровождаемого любым отдельным символом.

Затем вывод был бы file0 и file1

, звездочка (*) выполняет функцию, подобную тому из вопросительного знака, но соответствует любому количеству символов, включая нулевые символы, в имени файла.

теперь вывод команды:

ls file*

был бы файл, file0, file1 и также file01

[] Специальные символы причины оболочка для соответствия именам файлов, содержащим отдельные символы в скобках.

, например, вывод команды:

ls file[01]*

был бы:

file0 file1 file01

Это - просто простое введение для расширения оболочки, можно читать больше:

5
ответ дан 2 December 2019 в 01:33

Для удаления файлов с тем же расширением сразу просто используйте find команда.

find /path/to/directory -type f -iname '*.gch' -delete
  • -type говорит find, если Вы ищете files или directories, здесь:

    f = файл

    d = каталог

  • iname говорит find о названии файла, который Вы ищете.

    Примечание : name делает то же самое, но iname рекомендуется, потому что оно игнорирует регистры, тогда как name не делает.

  • -delete удаляет те файлы

3
ответ дан 2 December 2019 в 01:33

Просто введите следующую команду в терминале (оболочка)

rm -rf  /path/to/files/*.<extension>

Быть осторожными с-f параметром. Это не предупредит перед удалением.

0
ответ дан 2 December 2019 в 01:33

При использовании C и Make-файлов можно также сделать.PHONY цель рецепта и комнату по умолчанию и добавить файлы "хлама" побочного продукта, которые каждый удаляет из чистого исходного каталога. Вы все еще используете подстановочный знак * маркер.

make clean

, например

   .PHONY clean


    clean:  
         rm -f *.gch  *.o *.temp *.log

затем Вы умножили свою производительность в устранении хлама.

0
ответ дан 2 December 2019 в 01:33

Другие вопросы по тегам:

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