2017-07-27 57 views
0

我有很多有序編號的文件(001〜099)包含相同的文件,名爲「紅色」。所有這些文件都在一個目錄中。我想將所有「紅色」文件複製到一個文件夾(全局),我想移動每個「紅色」文件,通過其父文件夾對其進行重命名,例如, 001,002..etc ..我想複製粘貼一個文件,然後重命名它,我怎麼做我的情況?

我知道如何複製移動和重命名,但我不知道如何把它們放在一起

,所以我做

CP〜/ 00 * /紅〜/全球 MV紅色001

我希望把它變成一個循環,並添加+1 001每次添加一個文件,但我失敗了

有人可以幫助嗎?

回答

1
for i in {1..99} 
do 
    number=$(printf "%03d" $i) 

    cp ~/$number/red ~/global/$number 
done 

在bash >=bash-4這可能工作,以及:

for number in {001..099} 
do 
    cp ~/$number/red ~/global/$number 
done 
+0

非常感謝你,虐待試試吧! – tsumaranaina

1

這個bash腳本應該做你所描述的:

for i in {1..99} 
do 
    NUMBER="$(printf "%03d" $i)" 
    cp ~/$NUMBER/red ~/global/$NUMBER 
done 

在循環的每次迭代中,變量$ NUMBER分配了printf命令的輸出(打印出i的值,在前面用適當的0填充格式化)。然後$ NUMBER用於指定從001的目錄名099

編輯:哎呦,看起來像斯特凡打我給它

+0

謝謝你的幫助! – tsumaranaina

相關問題