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

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • chrmoe

    chrmoe

    7 Kasım 2006
  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014