我正在尝试查找目录中的所有Fortran文件并替换该文件中的一些文本。
起初我正在考虑使用find -regex ... -exec
来查找fortran代码的所有文件扩展名并进行替换。但是,有很多文件扩展名,还有另一种识别fortran文件的方法吗?
答案 0 :(得分:2)
这是一个非常简短的find命令,用于查找所有与Fortran相关的文件。最常见的Fortran文件是*.f
,*.f90
和大写字母对应文件。此外,还使用.f95
,.f03
,.f08
甚至.for
。请注意,-iregex
匹配正则表达式不区分大小写(与-regex
相反)。
find . -iregex ".*\.F[0-9]*" -o -iregex ".*\.for"
要对此做些什么,您可以使用xargs
:
find . -iregex ".*\.F[0-9]*" -o -iregex ".*\.for" | xargs head -1
将head -1
替换为您要对文件执行的操作。
另一种使用方法是使用循环,例如:
for file in $(find . -iregex ".*\.F[0-9]*" -o -iregex ".*\.for"); do
head -1 "$file"
done
这使您比xargs
方法更灵活,更易于阅读。