Centos5

遞歸重命名文件並將它們移動到一個目錄中

  • January 5, 2015

我在 CentOS 中有一個擁有 50 萬使用者的項目。圖片文件/目錄結構是這樣設置的(是的……我知道):

  • user/0070/這是使用者 ID / 1000,因此範圍內的所有使用者$$ 70000-70999 $$在這個目錄裡面
  • user/0070/70909/這是使用者 ID
  • user/0070/70909/p.jpg個人資料圖片 (100x100)
  • user/0070/70909/x.jpg全尺寸圖片

我將所有內容都移至 CDN,因此我需要將該結構轉換為:

  • user/70909.p.jpg個人資料圖片 (100x100)
  • user/70909.x.jpg全尺寸圖片

當然,在一段時間內實現這一目標的唯一方法是執行一個腳本,將所有文件重命名並移動到一個目錄中。有任何想法嗎?謝謝!

在 bash 中:

cd user
for i in *; do
   for j in $i/*; do
       for k in $j/*; do
           mv $k `basename $j`.`basename $k`
       done
   done
done

引用自:https://serverfault.com/questions/655526