0
每個具有幾個文件到子文件夾的一個多層次的子文件夾的數百個文件夾我有以下數據目錄:斯普利特其中有使用shell
root/A/1
root/A/2
root/B/1
root/B/2
root/B/3
root/C/1
root/C/2
而且我想把它轉換成以下文件結構:
root2/I/A/1
root2/I/A/2
root2/I/B/1
root2/I/B/2
root2/I/B/3
root2/II/C/1
root2/II/C/2
這樣做的目的是我想運行一些腳本,它取回主文件夾(root在這裏)並運行它。我想在許多文件夾(I,II)上並行運行它以加速此過程。
有關文件和文件夾名稱的簡單假設是所有文字都是字母數字,甚至沒有句點或下劃線。
編輯:我嘗試以下操作:
for i in `seq 1 30`; do mkdir -p "root2/folder$i"; find root -type f | head -n 4000 | xargs -i cp "{}" "root2/folder$i"; done
問題是,它創建類似下面的,這不是我想要的。
root2/I/1
root2/I/2
root2/I/1
root2/I/2
root2/I/3
root2/II/1
root2/II/2
那你知道哪個目錄進入'A'和成'乙'? –
@BenjaminW。你是否意味着哪些目錄進入了我,哪些進入了II。我不太在意。我只是想讓他們平分秋色,比如30個小組。這樣我可以在30個文件夾上調用我的命令。 – Shweta
如果我理解了這個問題,你可以沿着這些方向做一些事情:'a = 0;因爲我在$(ls);請讓a ++; [[$(($ a%60))-gt 30]] && mv $ i I || mv $ i II;完成' –