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

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • eyes4beautee

    eyes4beautee

    17 HAZİRAN 2011
  • paikimchung

    paikimchung

    12 Mayıs 2006