2011-11-25 49 views
0

我有一個文件夾,其中有許多許多文件夾,在這些文件夾中有很多很多文件。我不知道每個文件可能位於哪個文件夾中。我將定期收到我需要複製到預定義目標的文件列表。Bash腳本查找文件層次結構中的特定文件

該腳本將在Unix機器上運行。

所以,我的小腳本應該:

  • 讀收到名單
  • 發現列表中的所有文件
  • 副本通過SCP
  • 每個文件到一個預定義的目的地

步驟1和步驟3,我想我會自己管理,但我將如何做第2步?

我正在考慮使用「查找」來定位每個文件,當發現時,將位置寫入字符串數組中。當找到所有文件時,我循環訪問字符串數組,對每個文件位置運行「SCP」命令。

我認爲這應該可行,但我從來沒有寫過bash腳本,所以任何人都可以幫助我一點啓動?我只需要一個基本的「find」命令來查找文件名並在找到該文件時返回文件位置。

回答

2
 
find $dir -name $name -exec scp {} $destination \; 
+0

嗨,正如我在我的第一篇文章中所說,我從來沒有寫過一個bash腳本。所以,雖然你的建議可能會起作用,但我想知道它的作用。你能描述它到底做了什麼嗎? :) – Herter

+0

它找到目錄$ dir下的所有文件,並執行scp命令,將文件的相對路徑作爲第一個參數,將$ destination的內容作爲第二個參數。 –

+0

啊..所以我解決了我的第二步和第三步合二爲一?好..我會給它一個:) – Herter

相關問題