Gokay's Developer Journal

Obsidian Notlarında `#delete` Etiketli Dosyaları Otomatik Tespit ve Temizleme Süreci

Geniş Obsidian çalışma alanlarında eski, gereksiz veya artık referans verilmeyen notların birikmesi kaçınılmazdır. Bu durum hem arama performansını düşürür hem de bilgi mimarisini karmaşıklaştırır. Pratik bir çözüm olarak, silinmesi planlanan notlara #delete etiketi eklemek ve ardından bu etiketleri tarayarak dosyaları topluca kaldırmak mümkündür.

Bu işlem için komut satırında ripgrep (rg) ve xargs araçlarını kullanmak, hem hızlı hem de güvenilir bir yöntem sunar. Aşağıdaki komutlar, Obsidian klasörünüzdeki #delete etiketli dosyaları tespit edip silmeye yönelik farklı çalışma modlarını temsil eder.


#delete Etiketli Dosyaları Bulup Doğrudan Silme

rg "#delete" -l --glob "!03_dashboards" | xargs rm

Açıklama

  • rg "#delete": İçeriğinde #delete geçen dosyaları arar.
  • -l: Eşleşen dosyaların sadece yolunu listeler.
  • --glob "!03_dashboards": Belirli bir klasörü hariç tutar; bu örnekte 03_dashboards klasörü korunur.
  • Çıktı xargs rm ile silme işlemine aktarılır.

Bu komut doğrudan silme işlemi yapar. Geri dönüş olmadığı için dikkatli kullanmak gerekir.


Silmeden Önce Onay İsteyen Etkileşimli Mod

rg "#delete" -l --glob "!03_dashboards" | xargs rm -i

Özellikler

  • rm -i: Her dosya için “silinsin mi?” sorusu yöneltir.
  • Daha kontrollü çalışır ve özellikle büyük veri setlerinde güvenlidir.

Bu mod, yanlışlıkla silinmesini istemediğiniz notları korumak için idealdir.


Boşluk İçeren Dosya Adlarında Güvenli Silme

rg "#delete" -l --glob "!03_dashboards" | xargs -0 rm

Bu kullanım normalde rg -0 ile eşleştirilir. Amaç, dosya adlarında boşluk veya özel karakter olduğunda komut zincirinin hata üretmesini önlemektir.

Örneğin doğru güvenli kullanım şu şekildedir:

rg "#delete" -l -0 --glob "!03_dashboards" | xargs -0 rm

Ne işe yarar?

  • Null-terminated çıktı üretir.
  • xargs -0 bu formatı doğru yorumlar.
  • Boşluk içeren dosya adlarında bile güvenli bir işlem sağlar.

Sonuç

Bu komut seti, Obsidian içerisinde #delete etiketiyle işaretlenmiş gereksiz notları temizlemek için güçlü bir otomasyon sağlar:

  • Hızlı toplu silme: Üretim ortamlarında veya geçici notlarda işlevsel.
  • Etkileşimli silme: İnsan kontrolü gerektiren durumlar için güvenli seçenek.
  • Boşluk güvenliği: Karmaşık dosya adlarının bulunduğu veri dizinlerinde hatasız çalışma imkânı.
Thoughts? Leave a comment