2016-04-08 22 views
0

Tüm alt dizinlerimi ve ana klasörümdeki dosyaları yeniden adlandırmak istiyorum - adın tüm boşluklarını kaldırmak. ÖrneğinTüm alt dizinleri ve ana klasördeki dosyaları yeniden adlandır

:

/MyMainFolder/New Folder 
becomes 
/MyMainFolder/NewFolder 

/MyMainFolder/New Compressed Folder (Zip) 
becomes 
/MyMainFolder/NewCompressedFolder(Zip) 

/MyMainFolder/New Folder/temp/Some Random Folder 
becomes 
/MyMainFolderser/NewFolder/temp/SomeRandomFolder 

bunu yapmak için aşağıdaki bash komut ile geldi ama yardımcı görünmüyor -

find ~/MyMainFolder/ -name '* *' -execdir rename " " "" {} + 
+0

"Yeniden adlandırın" hangi sürümü var? Görünüşe göre, Perl-bazlı olandan ziyade, güçlü bir şekilde olması gereken bir şekilde, H^H^H^H^H^H^H olması gerekir. Perl tabanlı (bazen "prename" denilen) ile, bir veya daha fazla beyaz boşluk karakterinin tüm dizelerini (boşluklar, sekmeler) değiştirmek için -execdir rename 's/\ s + // g' {} + 'kullanırsınız , newlines, formfeeds, vb) hiçbir şey ile. –

cevap

0
find ~/MyMainFolder/ -depth -name '* *' -execdir rename " " "" {} + 

Sana ihtiyacım tahmin yaprakları yeniden adlandırmaya başladığınızı bulmak için derinlik. Else bulmak öncelikle "a a", sonra "a a/b b", "aa" aa "aa" olarak adlandırır ve sonra "aa/b b" olan "a/b b" yi bulamaz.

İlgili konular