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

  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • steeletraining

    steeletraini

    28 NİSAN 2010
  • taliajoy18

    taliajoy18

    12 Temmuz 2011