SORU
25 NİSAN 2010, Pazar


Boşlukları değiştirmek için Bash script dosya adları

Herkes yinelemeli olarak dosya ve dizin isimleri alt çizgi belirli bir kök dizinden başlayarak boşlukları değiştirmek için güvenli bir çözüm tavsiye edebilir misiniz? Örneğin,

$ tree
.
|-- a dir
|   `-- file with spaces.txt
`-- b dir
    |-- another file with spaces.txt
    `-- yet another file with spaces.pdf

olur

$ tree
.
|-- a_dir
|   `-- file_with_spaces.txt
`-- b_dir
    |-- another_file_with_spaces.txt
    `-- yet_another_file_with_spaces.pdf

Edit

Cevaplar için teşekkürler, hepsi işe yarar gözüküyor. İki adım alır ama bana çok basit görünüyor, çünkü ana cevap olarak Dennis tarafından tek seçtim.

CEVAP
25 NİSAN 2010, Pazar


Sisteminizde zaten olabilecek bir Perl komut dosyası olan rename (aka prename) kullanın. İki adımda yapın:

find -name "* *" -type d | rename 's/ /_/g'    # do the directories first
find -name "* *" -type f | rename 's/ /_/g'

Düzenleme:

DayalıJürgentek bağlı kullanarak dosyaları ve dizinleri cevap ve çok katmanlı ele almak mümkün "Revizyon 1.5 1998/12/18 16:: 31 rmb1 16" /usr/bin/rename (Perl script) sürüm:

find /tmp/ -depth -name "* *" -execdir rename 's/ /_/g' "{}" \;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • gsipek

    gsipek

    20 Temmuz 2007
  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011