Bash命令用于查找目录中的所有Fortran文件

时间:2016-03-28 20:13:43

标签: bash grep find fortran

我正在尝试查找目录中的所有Fortran文件并替换该文件中的一些文本。

起初我正在考虑使用find -regex ... -exec来查找fortran代码的所有文件扩展名并进行替换。但是,有很多文件扩展名,还有另一种识别fortran文件的方法吗?

1 个答案:

答案 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方法更灵活,更易于阅读。