Shell Geek Aynı Anda Birden Fazla Dosyayı Yeniden Adlandırın
Diyelim ki yanlış dosya adlarına sahip yüzlerce dosyadan oluşan bir diziniz var ve içeren her dosya adını değiştirmek istiyorsunuz. Ölçek ile dürtme. (bu tartışmalı bir örnek). Bunu, bash'taki “for” komutuyla, biraz bash iyiliği ile birlikte kolayca yapabiliriz. Bugün bir for döngüsü içindeki bir değişkendeki metnin nasıl değiştirileceğini öğreneceğiz..
“For” komutu şöyle çalışır:
var için; do $ var; done
Değiştirebilirsiniz * veya * .txt gibi herhangi bir dosya eşleştirme deseniyle değiştirebilirsiniz. Herhangi bir linux komutuyla. Komut, dosya eşleme deseni ile eşleşen dosyaların her birinde sırayla çalıştırılır.
Bash değişken işlemenin onu daha da ilginç hale getirdiği yer burasıdır. Sadece “mv $ var” gibi bir şey yapmak yerine, bu sözdizimini kullanarak dosya adındaki metni değiştirebiliriz:
$ Var / originaltext / replaceText
Şimdi, eğer bu komutu dizinde çalıştırırsak:
f in * için; mv $ f $ f / test / prod;
* İle eşleşen her dosya için, bash buna benzer bir komutu çalıştırır:
mv test.config prod.config
Sunucuları yönetirken veya sadece dosya koleksiyonunuzu yönetirken kabuk bilgisinin paha biçilmez olduğunu buldum ve başka türlü elle yapılan işlerden saatlerce kurtuldum..
Ve evet, birden fazla dosyanın ismini değiştirmeyi başarabilecek bir takım araçlar olduğunu fark ettim..