2013-01-14 34 views
0

任務是將從n = 1:10(例如/dir_4/file.txt)編號的幾個子目錄中的文件複製到以不同名稱命名的主目錄中(eg file_4.txt)如下:從多個目錄複製文件的循環Linux

for n=1:10 
cp /dir_n/file.txt file_n.txt 
end 

如何在Linux中編寫和執行此腳本?

+1

第1步:選擇你想要做什麼語言步驟2:試試吧。步驟3:回來並尋求特定問題的幫助。你的僞代碼是一個很好的起點! – John3136

回答

2

在bash中,這應該做到這一點。

#!/bin/bash 
for I in {1..10}; do 
    cp /dir_${I}/file.txt file_${I}.txt 
done 
+0

當我試圖運行此腳本時,出現以下錯誤:'etfiles.sh:line 2:語法錯誤附近出現意外的令牌'do 'etfiles.sh:第2行:'我在{1..10}中;做。 –

+0

不知道爲什麼它會抱怨。你可以試試'因爲我在$(seq 1 10);而不是。 – jgr

+1

它現在運行非常感謝你。 –

0

在Python

import os 
    import shutil 
    src="dir1" 
    dest="test" 
    myrange = range(1,3) 
    for var in myrange: 
     dfile = "test/temp_"+str(var)+".txt" 
     src = "dir"+str(var) 
     full_file_name = os.path.join(src, "temp.txt") 
     if (os.path.isfile(full_file_name)): 
         shutil.copy(full_file_name, dfile) 
相關問題