在我的脚本中,我有一个变量$var
,其值为“00135 00136 00137”。我想基于$var
中可用的值生成三个文件 - 如果可能的话,不使用循环。
例如,我需要具有以下名称的触摸文件:
test.00136.txt
test.00137.txt
test.00138.txt
答案 0 :(得分:0)
awk
实用程序使处理柱状数据变得非常简单:
var="00135 00136 00137"
var1=$(echo "$var" | awk '{print $1}')
var2=$(echo "$var" | awk '{print $2}')
var3=$(echo "$var" | awk '{print $3}')
touch "test.${var1}.txt"
touch "test.${var2}.txt"
touch "test.${var3}.txt"
答案 1 :(得分:0)
使用xargs可以避免使用while循环 首先将var拆分为行,使用字符串num作为占位符并触摸文件:
var="000135 00136 00137 00138 00139"
echo "${var}" | tr " " "\n" | xargs -I num touch test.num.txt
编辑:
避免使用
echo -n "$var" | xargs -d' ' -n1 -Inum echo test.num.txt