所以基本上我需要运行一个命令,让我们说$ 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