需要根据 shell 中变量中可用的值生成文件

Need to generate files based on the value available in a variable in shell

在我的脚本中,我有一个变量 $var,它的值是“00135 00136 00137”。我想根据 $var 中可用的值生成三个文件 - 如果可能的话不使用循环。

例如,我需要这些名称的 touch 文件:

test.00136.txt
test.00137.txt
test.00138.txt

awk 实用程序使处理列数据变得非常简单:

var="00135 00136 00137"

var1=$(echo "$var" | awk '{print }')
var2=$(echo "$var" | awk '{print }')
var3=$(echo "$var" | awk '{print }')

touch "test.${var1}.txt"
touch "test.${var2}.txt"
touch "test.${var3}.txt"

使用 xargs 可以避免 while 循环。
首先将 var 拆分成行,使用字符串 num 作为占位符并触摸文件:

var="000135 00136 00137 00138 00139"
echo "${var}" | tr " " "\n" | xargs -I num touch test.num.txt

编辑:
避免 tr with

echo -n "$var" | xargs -d' '  -n1  -Inum echo test.num.txt