Удалите файлы, которые имеют определенный синтаксис

У меня есть несколько файлов, которые следуют за этим синтаксисом:

  • _yyyy-mm-dd_hhhmmm.

Пример:

  • _2010-01-01_00h10m.
  • _2010-01-01_01h10m.
  • _2010-01-01_02h10m.
  • _2010-01-01_03h10m.
  • ...
  • _2010-01-01_23h10m.
  • _2010-02-01_00h10m.
  • _2010-02-01_01h10m.
  • _2010-02-01_02h10m.
  • ...
  • _2010-02-01_23h10m.
  • ...
  • _2010-12-01_23h10m.

Я хотел бы сохранить, только это регистрирует

  • _2010-01-01_00h10m.
  • _2010-02-01_00h10m.
  • _2010-03-01_00h10m.
  • ...
  • _2010-12-01_00h10m.

и удалите другие. или, возможно, переместите их в подкаталог для сейфа...

У кого-то есть умное на лайнере для этой проблемы?

Спасибо, Udo

0
задан 23.01.2011, 20:14

2 ответа

В ударе:

shopt -s extglob
rm !(*_2010-??-01_00h10m.*)
2
ответ дан 24.11.2019, 04:35

очень наивный путь

mkdir keep_these
mkdir remove_these
mv *_00h10m* keep_these
mv *.* remove_these

или острота

ls * | grep -v "_00h10m" | while read a; do mv $a /tmp; done
1
ответ дан 24.11.2019, 04:35

Теги

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