如何在 bash 脚本中选择所有文件

如何在 bash 脚本中选择所有文件

我有扩展名为.AH.例如:

aa.AH
bb.AH
cc.AH
dx.AH
tmz.AH
lght.AH

我想选择所有这些文件,但不是一个一个地选择,因为我使用saclst(这是一个读取和写入地震图标题的命令),并且它需要所有文件来比较 NPTS(即点数)。所以我使用这段代码:

for file in *AH
   do

   nptsAH=$(saclst npts f ${file}* > nptsAH.txt | awk '{print $2}' nptsAH.txt | sort -n | head -1)
   declare -i nptsAH

   sac << !
   r $file
   interpolate NPTS $nptsAH
   w over
   q
   !
   done

哪种形式对于 bash 脚本来说是正确的?

答案1

一个变量不能保存多个文件或一个模式。但你可以使用数组:

files=(*.AH)

或者

files=()
for file in *.AH; do
   files+=("$file")
   ...
   some_command using "$file"
done
...
some_command using "${files[@]}"

也可以看看

相关内容