Belirli bir sözdizimine sahip dosyaları kaldırın


0

Bu sözdizimini izleyen bir kaç dosyam var:

  • _yyyy-aa-dd_hhhmmm.

Örnek:

  • _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.

Sadece bu dosyaları saklamak istiyorum

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

ve diğerlerini silin. belki de onları güvende tutmak için bir alt dizine taşıyabilirsin

Birisi bu meydan okuma için akıllı bir astar üzerinde var mı?

Teşekkürler, Udo


Yanıtlar:



1

çok saf bir yol

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

veya bir oneliner

ls * | grep -v "_00h10m" | while read a; do mv $a /tmp; done

naif gerçekten :) -> ama iyi -> ayrıca alt dizinlere ihtiyaç duymadan bir çözümünüz var mı?
udo

1
@udo - Evet mv $a /tmp, son örnekte '\ rm $ a´ ile değiştiriniz
Nifle
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.