Geri git   SpeedX| Destek İletişim Forumu > Sunucu Yönetimi > Linux > Kabuk Programlama - Shell - Skript
Kayıt ol Yardım Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et
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ı
4754

 
 
Seçenekler Stil
Prev önceki Mesaj   sonraki Mesaj Next
  #1  
Alt 13. April 2009, 01: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
 


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


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 09:22 PM
Forum.TuTSaKHoSTiNG.Com | Teknoloji Haberler - En büyük belli oldu! PaLeRmO Teknoloji 0 23. July 2009 12:06 PM
Bir dosyanin icindeki bir kelimeyi degistirmek PaLeRmO Kabuk Programlama - Shell - Skript 0 13. April 2009 01:25 AM
Belli bir dizin içerisinde dosya olup olmadığını nasıl test edebilirim? PaLeRmO Kabuk Programlama - Shell - Skript 0 13. April 2009 01:17 AM
Bu işlemi yinelemeli (recursively) olarak nasıl yapabilirim? PaLeRmO Kabuk Programlama - Shell - Skript 0 13. April 2009 01:14 AM

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