小编tol*_*boy的帖子

BASH:在for循环中迭代两个v ariables

我有两个文件numbers.txt(1 \n 2 \n 3 \n 4 \n 5 \n)和alpha.txt(a \nn \nc \nd \ne \n)

现在我想同时迭代这两个文件.

   for num in `cat numbers.txt` && alpha in `cat alpha.txt`
   do 
   echo $num "blah" $alpha
   done
Run Code Online (Sandbox Code Playgroud)

或者我的其他想法是

   for num in `cat numbers.txt`
   do
     for alpha in `cat alpha.txt`
     do
      echo $num 'and' $alpha
      break
     done
   done
Run Code Online (Sandbox Code Playgroud)

但是这种代码总是采用$ alpha的第一个值.

我希望我的问题很清楚.

提前致谢.


这就是我实际打算做的事情.(这只是一个例子)

我还有一个文件说template.txt有内容.

    variable1= NUMBER
    variable2= ALPHA
Run Code Online (Sandbox Code Playgroud)

我想从两个文件中获取输出,即numbers.txt和alpha.txt(一次两行),并希望将NUMBER和ALPHA替换为这两个文件中的相应内容.

所以这就是我所做的,因为我知道如何将两个文件一起迭代.

    paste number.txt alpha.txt | while read num alpha
    do 
     cp template.txt  temp.txt
     sed -i "{s/NUMBER/$num/g}" temp.txt …
Run Code Online (Sandbox Code Playgroud)

iteration bash for-loop

1
推荐指数
1
解决办法
4092
查看次数

标签 统计

bash ×1

for-loop ×1

iteration ×1