Fontların indirme linkini yazdığım yerde uzantı olarak ".woff" yazmaktansa ".woff?-snx2rh" şeklinde yazmışım ve bütün dosyalar buna göre inmiş. Tekrardan indirmek istemedim, elimde dosyalar var zaten sonundan birkaç karakteri de temizleriz yahu dedim ve başladım yazmaya.
for j in *.woff?-snx2rh; do mv $j $(echo $j | sed -e 's/\?-snx2rh//'); done
Şöyle bir şey çıktı ortaya. Anlatmak gerekirse;
for j in *.woff?-snx2rh; --> woff uzantılı dosyaları al
do mv $j --> $j değişkeni misal p1.woff-snx2rh olarak geliyor.
$(echo $j | sed-e 's/\?-snx2rh//') --> burada dosyanın o uzun isimli halini alıp regex ile dosyanın isminden kalın yazılı olan kısmı ondan sonraki slaşlar arasındaki değerle değiştir diyoruz.
Ben bunu yazarken adım adım gittim. İlk önce ihtiyacım olan şey ihtiyacım olan dosyaları bir döngüde alabilmek. Bunun için ilk önce for j in *.woff?-snx2rh; do echo $j; done yazdım. daha sonra buradan istemediğim karakterleri değiştirebileceğim bir şey yapmaya çalıştım. O zaman da bu döngü for j in *.woff?-snx2rh; do (echo $j | sed -e 's/\?-snx2rh//'); done şekline dönüştü. Son olarak döngünün içinde echo dediğim kısmı mv dosyanın_ismi dosyanın_yeni_ismi olarak değiştirdim ve istediğim sonucu aldım.
Hiç yorum yok:
Yorum Gönder