Anasayfa » nasıl » Shell Geek Aynı Anda Birden Fazla Dosyayı Yeniden Adlandırın

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