如何使用 shell 脚本自动执行重复过程

如何使用 shell 脚本自动执行重复过程

所以基本上我需要运行一个命令,让我们说$ exampleCommand var1_1,完成这个命令$ exampleCommand var1_2后,然后运行var2_1等等......我在 50-60 个文件上运行这个命令,每个文件的大小为 90+gb,所以手动执行此操作是不可能的,我从来没有试图自动化这样的事情。我很感激一些关于如何做到这一点的提示。我想我创建一个 .sh 文件,然后在我正在使用的服务器上运行它?

答案1

这应该为您指明正确的方向:

$ for i in {1..3}; do for j in {x..z}; do echo ${i}_${j}; done; done
1_x
1_y
1_z
2_x
2_y
2_z
3_x
3_y
3_z

答案2

您问的问题有点全局性,有很多方法可以自动执行特定任务。该问题通常出现在许多不同的文件名或正则表达式匹配模式中。请在运行任何脚本之前备份文件。

只是为了让您朝着某个方向前进,请参阅示例:

array=(file1 file2 file3)
for i in "${array[@]}"; do
    echo "$i"
done

user@workdir: # cd /dir && ls > ../files.list

main() {
    local list='/workdir/files.list'
    for item in $(cat "$list"); do
        func_read "$item"
    done
}

func_read() {
    local var="$1"
    [[ ! -d "$var" ]] && \
        while read -r line; do
            echo "$line"
        done < "$var"
}
main

相关内容