如何合并两个通配符表达式
How to merge two wildcard expressions
在 shell 脚本中,我需要对所有扩展名为 .F90
或 .F
的文件应用相同的 shell 代码。
目前我使用
for file in *.F90 ;do ...
# Code I need to run
for file in *.F; do ...
# Same block of code copy-pasted.
有没有办法合并这两个循环,生成匹配文件数组,然后应用操作?
我不确定我是否理解你的问题,因为我不明白你为什么需要数组。
这将是合法的语法:
for file in *.F90 *.F ; do ...
要保留受影响文件的列表,您可以这样做:
shopt -s nullglob
files="*.F90 *.F"
for file in ${files} ; do ...
注意:nullglob
行防止 lame (IMO) 行为应该 *.F90 或 *.F 不匹配任何文件。
在 shell 脚本中,我需要对所有扩展名为 .F90
或 .F
的文件应用相同的 shell 代码。
目前我使用
for file in *.F90 ;do ...
# Code I need to run
for file in *.F; do ...
# Same block of code copy-pasted.
有没有办法合并这两个循环,生成匹配文件数组,然后应用操作?
我不确定我是否理解你的问题,因为我不明白你为什么需要数组。
这将是合法的语法:
for file in *.F90 *.F ; do ...
要保留受影响文件的列表,您可以这样做:
shopt -s nullglob
files="*.F90 *.F"
for file in ${files} ; do ...
注意:nullglob
行防止 lame (IMO) 行为应该 *.F90 或 *.F 不匹配任何文件。