如何通过遍历bash中的变量来查找多个文件

时间:2019-07-12 14:50:51

标签: string bash variables find

我想找到Stress_x_vs_Ecutoff_convergence.txt,Stress_y_vs_Ecutoff_convergence.txt和Stress_z_vs_Ecutoff_convergence.txt文件并删除它们(如果存在)。

我尝试创建一个字符串数组来遍历它们。但是编译器告诉我:

i: command not found

部分代码在这里:

components=('x' 'y' 'z')
for i in "${components[@]}"
    do
        if [ -f "Stress_$(i)_vs_Ecutoff_convergence.txt" ]; then rm    "Stress_$i_vs_Ecutoff_convergence.txt"; fi
    touch "Stress_$(i)_vs_Ecutoff_convergence.txt"
    done

我需要变量i来做其他事情,因此,如果您尝试提供与我的方法不太不同的解决方案,我将不胜感激。 我知道这可能很简单,但是我对bash不太熟悉

1 个答案:

答案 0 :(得分:1)

$(i)更改为${i}

$(i)意味着执行名为“ i”的命令。