Örneklerle işlenen StringSolver araçlarını (windows ve Linux bash) kullanma :
filter fghfilea ok fghreport ok notfghfile notok; mv --all --filter fghfilea jklfilea
İlk olarak , girdilerin dosya adları ve çıktı (ok ve notok, rastgele dizeler) olduğu örneklere dayalı bir filtre hesaplar . Filtrenin --auto seçeneği varsa veya bu komuttan sonra tek başına çağrıldıysa, sırasıyla ok
bir klasör notok
ve klasör oluşturur ve dosyaları bunlara aktarır.
Daha sonra filtreyi kullanarak, mv
komut --auto değiştiricisi ile otomatik hale gelen yarı otomatik bir harekettir . --Filter önceki filtre sayesinde kullanarak, bir eşleme bulur fghfilea
etmek jklfilea
ve sonra tüm filtrelenmiş dosyalar üzerinde uygular.
Diğer tek hatlı çözümler
Aynı yapmanın diğer eşdeğer yolları (her satır eşdeğerdir), böylece en sevdiğiniz yolu seçebilirsiniz.
filter fghfilea ok fghreport ok notfghfile notok; mv --filter fghfilea jklfilea; mv
filter fghfilea ok fghreport ok notfghfile notok; auto --all --filter fghfilea "mv fghfilea jklfilea"
# Even better, automatically infers the file name
filter fghfilea ok fghreport ok notfghfile notok; auto --all --filter "mv fghfilea jklfilea"
Çok adımlı çözüm
Komutların iyi performans gösterip göstermediğini dikkatlice bulmak için aşağıdakileri yazabilirsiniz:
filter fghfilea ok
filter fghfileb ok
filter fghfileb notok
filtrenin iyi olduğundan eminseniz, ilk hamleyi yapın:
mv fghfilea jklfilea
Test etmek ve önceki filtreyi kullanmak istiyorsanız, şunu yazın:
mv --test --filter
Dönüştürme istediğiniz gibi değilse (örneğin mv --explain
, bir şeylerin yanlış olduğunu görürseniz bile ), mv --clear
hareketli dosyaları yeniden başlatmak için yazabilir veya mv input1 input2
input1 ve input2'nin diğer örnekler olduğu başka örnekler ekleyebilirsiniz.
Emin olduğunuzda, sadece şunu yazın
mv --filter
ve voilà! Tüm yeniden adlandırma filtre kullanılarak yapılır.
YASAL UYARI: Ben akademik amaçlarla yapılan bu çalışmanın ortak yazarıyım. Yakında bash üreten bir özellik de olabilir.