2

У меня есть следующая структура папок:

parent
 - folder1
   - main1.x
   - main1.y
   - main1.z
   - main1-626262.x
   - main1-626263.x
   - main1-626264.x
   - main1-626265.x
   - main1-626266.x
   - main1-626267.x
 - folder2
   - main2.x
   - main2.y
   - main2.z
   - main2-726262.x
   - main2-726263.x
   - main2-726264.x
   - main2-726265.x
   - main2-726266.x
   - main2-726267.x

Теперь я хочу удалить: main-*********.x

Итак, моя необходимая структура папок:

parent
 - folder1
   - main1.x
   - main1.y
   - main1.z
 - folder2
   - main2.x
   - main2.y
   - main2.z

Итак, как мне этого добиться?

3 ответа3

6

Попробуй это:

find * -name 'main?-*.x' | xargs echo rm -rf

Выше печатает команду , которая удаляет ненужные каталоги (фактически не удаляя их). Если все выглядит хорошо, просто запустите напечатанную команду или запустите

find * -name 'main?-*.x' | xargs rm -rf
2

Простая команда:

rm `find ./ -name 'main?-*.x'` -rf

Удачи!

1
rm */*[0-9][0-9][0-9][0-9][0-9][0-9].*

Но нужен bash или sh для оценки. Не знаю о C-Shell, если он не работает, какой-то похожий синтаксис будет доступен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .