Bash/shell 代码到 运行 命令的变量列表文件

Bash/shell code to run command on a list file of variables

所以对于初学者来说,我有以下主要过程 运行ning

for fname in (filename); do  
  ./$comma "$fname" (var1) (var2)  
  mv "$fname" "${fname}.fin"  
done  

然后我有一个名称列表文件,如下所示:

filename|var1|var2   
file1|9|1  
file2|8|3  

等...

想将其设置在何处 - 当主脚本转到 运行 ./$comma 脚本时,它从列表文件中读取并填充 fname、var1 和 var2(每个管道顺序)-现在我有很多像上面一样重复的脚本块,我想肯定地合并或清理它。任何帮助表示赞赏 - 不一定是 for;do 循环 - 只要脚本在正确的文件上 运行 具有正确的 args 并被重命名。

您显示的 for 循环在句法上不正确。但是,您需要一个使用 read 命令的 while 循环。

while IFS="|" read -r fname var1 var2; do
  ./"$comma" "$fname" "$var1" "$var2"
  mv "$fname" "$fname.fin"
done < filenames.txt