Bash:扩展包含前缀的变量,该前缀是通过指示文件扩展名来包含所有文件的目录的名称

问题描述 投票:0回答:1

这个问题很简单(但不足以解决这个问题。)>

我有一个目录temp_sources,其中包含Fortran .f90文件。

我尝试将通配符*.f90扩展为要打印的所有Fortran90文件,并以temp_sources目录作为前缀。

总而言之,我想存储在一个变量中:

temp_sources/file1.f90
temp_sources/file2.f90
temp_sources/file3.f90
...
temp_sources/file11.f90

[我试图在一个脚本中使用2个参数(第一个用于目录,即temp_sources,第二个用于*.90)]

dir1="$dir1"
# Adding a slash for directory if not present
[[ "$dir1" != */ ]] && dir1=$dir1"/"
# Try to expand the files *.f90
files=( "$dir1${@:2:$#-2}" )
# Try to print the list with directory name as prefix
echo "$files"

但仅打印(带有最后回显):temp_sources/*.f90

不会将.f90文件的列表作为前缀扩展到temp_sources目录中。

我不知道如何使用此目录名称获取此列表。

我希望我已经清楚了。

问候

这个问题非常简单(但不足以解决这个问题)。我有一个目录temp_sources,其中包含Fortran .f90文件。我尝试用temp_sources ....>

bash shell wildcard
1个回答
0
投票

尝试使用

files=( "$dir1"${@:2:$#-2} )
© www.soinside.com 2019 - 2024. All rights reserved.