我有一个包含 n 行的文件,每行有三个变量(即单词),用逗号分隔。我想在 bash 中编写一个脚本,该脚本获取每个变量并填充模板消息,例如:
To $variable1
You need to buy $variable2
From $variable3
我的问题是我不知道如何在 bash 中分配这些变量,以及如何编写一个 bash 脚本,为所有 n 行以不同的文件名生成上述消息。
答案1
假设a.file
包含您的数据:
while IFS=, read var1 var2 var3; do
msg="""\
To $var1
You need to buy $var2
From $var3
"""
echo "$msg"
done < a.file
$IFS
是分隔单词的字符
read
是一个内置的 shell 函数,它读取一行输入,将其分成单词并将它们分配给给定的变量。