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

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

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

rm **/*.orig

Но это дает мне сообщение:

rm: не удаляется `* / .orig ': Нет такого файла или каталога

Я также пробовал:

  • rm -rv *.orig

    [ 115]
  • rm -R *\.orig

77
задан 18 May 2011 в 23:04

4 ответа

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

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

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

0
ответ дан 18 May 2011 в 23:04

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

find ./ -name ".orig" -exec rm -rf {} \;
0
ответ дан 18 May 2011 в 23:04

Я удалил все файлы, который запускается с .nfs000000000 как это

rm .nfs000000000*
2
ответ дан 22 November 2019 в 23:19

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

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

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

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

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

find ./ -name "*.orig" | grep -v "somefiletokeep.orig" | xargs rm -r
0
ответ дан 4 June 2020 в 00:14

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

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