Geri git   SpeedX| Destek İletişim Forumu > Sunucu Yönetimi > Linux > Kabuk Programlama - Shell - Skript
Kayıt ol Yardım Üye Listesi Ajanda
SeoMap

Konu Bilgileri
Konu Başlığı
Belli bir dizin içindeki dosya isimlerini yinelemeli (recursively) olarak büyük harften küçükharfe
Konudaki Cevap Sayısı
0
Şuan Bu Konuyu Görüntüleyenler
 
Görüntülenme Sayısı
4671

Yeni Konu aç Cevapla
 
Seçenekler Stil
  #1  
Alt 13. April 2009, 12:15 AM
PaLeRmO - ait Kullanıcı Resmi (Avatar)
PaLeRmO 
Administrator
Aktive
Seviye: []
Aktiflik: /
Güç: /
Deneyim: %
Karizma
Üye No: 1
Tecrübe Puanı: 10
Rep Puani : 10
Rep Derecesi:
PaLeRmO Seçkin bir yolda.
İletişim
PaLeRmO - MSN üzeri Mesaj gönder
Bilgi
PaLeRmO isimli Üye şimdilik offline konumundadır
Üyelik tarihi: Mar 2007
Mesajlar: 56,207
Konuları: 210
Belli bir dizin içindeki dosya isimlerini yinelemeli (recursively) olarak büyük harften küçükharfe


Belli bir dizin içindeki dosya isimlerini yinelemeli (recursively) olarak büyük harften küçükharfe nasıl çevirebilirim?

Kod:
cd /dizin_ismi/
find . -name '*[A-Z]*' -type f -print0 | xargs -0 rename 'y/A-Z/a-z/'

Dosya isimleri ile birlikte, dizin isimlerinide büyük harften küçük harfe çevirmek isterseniz.


Kod:
cd /somewhere
find . -type d -depth -name '*[A-Z]*' -print |
  while read dir; do dname="$(dirname $dir)"; bname="$(basename $dir)";
  newbname="$(echo $bname | tr [:upper:] [:lower:])"; mv "$dir" "$dname/$newbname"; done
# Dizin isimlerini değiştirir.
# A to a until we've already renamed A/B to A/b.
Kod:
find . -name '*[A-Z]*' -type f -print0 | xargs -0 rename 'y/A-Z/a-z/'

Yukarıdaki betik bazı durumlarda kusurlu sonuçlar verebilir. Dizin isimlerinizin newline, _ veya whitespace karekterine sahip olduğu durumlar için başarısız olur. Betiği kullanma riski tamamıyle size aitdir, dilerseniz kullanmadan önce mv komutunun baş tarafına echo 'yu ekleyerek sonucu görerek değerlendirmeye çalışın.

Buna karşın aşağıdaki basit betik daha kararlı sonuç verebilir.


Kod:
find /somewhere -depth -name '*[A-Z]*' -print0 | xargs -r0 rename 'y/A-Z/a-z/'

Yine bu betiği sisteminizde uygulamadan önce rename komutunun başına echo'yu ilave ederek sonucu değerlendirmeye çalışınız. Kullanım riski size ait.
Alıntı ile Cevapla
Yeni Konu aç Cevapla


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 


Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - Wikileaks'e 'sivil isimlerini gizle' uyarısı PaLeRmO Teknoloji 0 11. August 2010 08:22 PM
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - En büyük belli oldu! PaLeRmO Teknoloji 0 23. July 2009 11:06 AM
Bir dosyanin icindeki bir kelimeyi degistirmek PaLeRmO Kabuk Programlama - Shell - Skript 0 13. April 2009 12:25 AM
Belli bir dizin içerisinde dosya olup olmadığını nasıl test edebilirim? PaLeRmO Kabuk Programlama - Shell - Skript 0 13. April 2009 12:17 AM
Bu işlemi yinelemeli (recursively) olarak nasıl yapabilirim? PaLeRmO Kabuk Programlama - Shell - Skript 0 13. April 2009 12:14 AM

En Fazla Arama Yapılan 100 Kelime
Aranan Kelimeler
...
Sitemap | Sitemap1 | Url | Url1 | Tags | TagMap | SeoMap | Arşiv
Sitemap
Google