【问题标题】:bash - how to build paths using multiple variablesbash - 如何使用多个变量构建路径
【发布时间】:2021-08-27 15:56:56
【问题描述】:

我正在尝试通过file.txt 构建多个路径,其中两列作为变量

a   b
c   d
e   f
g   h

我想用那个变量替换路径,如下:

/home/user/var1/var2/
/home/user/a/b/
/home/user/c/d/
/home/user/e/f/
/home/user/g/h/

我尝试做一个双循环,但它返回了两个变量的所有可能组合

var1 = (cut -f1 file.txt)
var2 =(cut -f2 file.txt)

for i in $var1
do
for j in $var2
do

echo home/user/$i/$j/

done
done

我是 bash 新手,非常需要帮助

【问题讨论】:

    标签: bash loops ubuntu


    【解决方案1】:

    您不需要两个循环,这将产生所有名称的笛卡尔积。只需使用两个变量循环一次:

    while read -r var1 var2; do
        echo "home/user/$var1/$var2/"
    done < file.txt
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 2021-09-13
      • 2021-11-01
      • 2013-07-25
      相关资源
      最近更新 更多