我需要一个使用循环同时使用两个不同变量的命令。
遵循这个逻辑:(这个命令不起作用,它只是一个例子):
for t1&t2 in 62&64 64&68 70&80; do
echo "Horse $t1 and $t2" >> File.out
done
最后的结果是
文件输出
Horse 62 and 64
Horse 64 and 68
Horse 70 and 80
我想像这样使用它,更具体地说,使用 R 程序:
for t1&t2 in 62&64 64&68 70&80; do
R -q -e "library(pastecs);d <- read.table('ageecent.txt', header = F,sep=' ');
vart1 =var(d[,$t1]); vres_t1=vart1*0.75;
va_t1=(vart1*0.25);vart2=var(d[,$t2]); vres_t2=vart2*0.75;
va_t2=(vart2*0.25); cor=cor(d[,$t1],d[,$t2]);
write.table(va_t1,'va_t1', row.names=F, col.names=F);
write.table(vres_t1,'vres_t1',row.names=F,col.names=F);
write.table(va_t2,'va_t2',row.names=F,col.names=F);
write.table(vres_t2,'vres_t2',row.names=F,col.names=F);
write.table(cor,'cor',row.names=F,col.names=F)"
done
我需要在哪里同时使用两个不同的变量,t1 和 t2,它们定义了我的主文件“ageecent.txt”中必须分析的列。 感谢您的关注与支持。
最佳答案
我会结合使用 while
循环和 read
而不是 for
循环:
echo -e '62 64\n64 68\n70 80' |
while read -r t1 t2; do
echo "Horse $t1 and $t2"
done >> File.out
请注意,我还将重定向移出了循环,这样效率更高。
关于linux - 一次循环两个不同的变量,Linux,unix,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39474963/