Как мне удалить все файлы, соответствующие шаблону?

Когда я возвращаюсь в Mercurial, он оставляет несколько .orig файлы. Я хотел бы иметь возможность запустить команду, чтобы удалить их все.

Я нашел несколько источников, в которых говорится, что нужно запускать:

rm **/*.orig

Но это дает мне понять:

rm: cannot remove `**/*.orig': No such file or directory

Я также пробовал эти команды:

rm -rv *.origrm -R *\.orig

Используйте find команда (с осторожностью!)

find . -name '*.orig' #-delete

Я закомментировал команду удаления, но как только вы будете довольны тем, что она соответствует, просто удалите # из строки, и он должен удалить все эти файлы.

В "find" есть несколько очень продвинутых методов поиска по всем или текущим каталогам и файлам rm.

find ./ -name ".orig" -exec rm -rf {} \;

Я удалил все файлы, начинающиеся с .nfs000000000 следующим образом

rm .nfs000000000*

Ниже приведено то, что я обычно делаю

find ./ -name "*.orig" | xargs rm -r

Рекомендуется сначала проверить, какие файлы вы будете удалять, проверив xargs. Ниже будут распечатаны найденные вами файлы.

find ./ -name "*.orig" | xargs

Если вы заметили найденный файл, который вы также не хотите удалять, измените свой первоначальный find или добавить grep -v шаг, который пропустит совпадение, т.е.

find ./ -name "*.orig" | grep -v "somefiletokeep.orig" | xargs rm -r

Взгляните на Linux, find all files matching pattern and delete - Super User