2011-07-15 37 views
1

我正在製作一個我需要進行循環的shell腳本。我有一個名爲Files的目錄。裏面的文件有兩個文件夾。每個持有500個文件(folder1和folder2)。我需要從folder1和folder2中獲取文件名,因爲我需要將folder1中的文件名與folder2連接起來。它需要爲此處的每個文件執行此操作。所以25萬次。基於目錄中的文件的多個循環

任何人都知道我會如何編寫該循環,以便我可以從兩個目錄中獲得所有名稱並正確循環?

回答

0

這樣的事情應該做的,假設兩個子目錄被稱爲dir1dir2,這個例子只是echoes自然的名字..

#!/bin/bash 

for d1 in `ls Files/dir1`; 
do 
    for d2 in `ls Files/dir2`; 
    do 
     echo ${d1}_${d2} 
    done 
done 
+0

[Do not parse ls](http://mywiki.wooledge.org/ParsingLs) –

+0

true :)我完全忘記了空白問題 – bjarneh

1

假設你在bash的時候,那麼這樣的事情

cd Files 
for f1 in folder1/* 
do 
    for f2 in folder2/* 
    do 
     concat_name="${f1#*/}-${f2#*/}" 
    done 
done 
相關問題