2016-02-12 50 views
0

在shell腳本中,我需要將相同的shell代碼應用於所有文件,這些文件的擴展名爲.F90.F如何合併兩個通配符表達式

目前我使用

for file in *.F90 ;do ... 
    # Code I need to run 

for file in *.F; do ... 
    # Same block of code copy-pasted. 

有沒有辦法合併這兩個循環使匹配的文件然後應用動作的陣列?

+0

編輯:問題的標題和措辭不清楚 – Eloims

回答

1

我不知道我理解你的問題,因爲我不明白你爲什麼需要一個數組。

這將是合法的語法:

for file in *.F90 *.F ; do ... 

爲了保持影響的文件的列表,你可以這樣做:

​​

注:nullglob線防止跛腳(IMO)的行爲應該* .F90或* .F不匹配任何文件。

+0

好的謝謝!一個數組或一個列表。一種記錄受影響文件的方法 – froggy

+0

@froggy查看我的未規劃示例 –

+0

'用於* .F90 * .F'中的文件很好,但不要嘗試將glob存儲在(非數組)參數中。未加引號的擴展將無法正確處理包含空格的匹配文件名。 – chepner