Files
動態循環遍歷目錄中的文件
我有很多文件:
i18n/ editor.utf8 editor_fr.utf8 editor_ko.utf8 editor_ge.utf8 ...etc. (dozens of these)
我想執行一個實用程序,我們稱之為它
fizzbuzz
,它將“輸入文件”和“輸出文件”作為其程序參數。呼叫它的一個例子是:fizzbuzz editor.utf8 editor.properties
或者:
fizzbuzz editor_fr.utf8 editor_fr.properties
因此,對於每次呼叫,我希望輸入文件是 下的不同文件
i18n/
,並且我希望輸出文件是同名文件,但具有不同的文件副檔名 (.properties
)。如果輸出/屬性文件已經存在,它應該被完全覆蓋。我如何編寫腳本以便我可以
fizzbuzz
在 中的每個.utf8
文件上執行i18n/
,並為每個文件指定一個具有相同名稱的輸出,只是一個.properties
文件?迄今為止我最好的嘗試:
for FILE in i18n do fizzbuzz FILE FILE.properties done
只是創建一個單獨的
FILE.properties
文件。
如果所有文件都在 i18n 中的下一級,則不需要 find 方法。
更改 for 命令以使用:
對於 i18n/* 中的文件
此外,變數必須在引用時以 $ 開頭。
我的建議是在第一次執行 for 循環時使用安全命令,否則會造成很大損失。例如,只需列出它看到的 FILE 值,並顯示它將執行的命令:
for FILE in i18n/* do echo "fizzbuzz $FILE $FILE.properties" done
當你滿意這是你想要的,然後帶走迴聲。
如果您希望它遍歷多個目錄,則此答案將無法正常工作,但是我將按照原始問題進行處理,該問題看起來可能是一個平面目錄。