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

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • Floortile83

    Floortile83

    16 Ocak 2010
  • Madeon

    Madeon

    31 Ocak 2010