我有一个变量,其中包含其他几个变量的名称列表。这些变量都包含一个表格。我想加入所有这些表格。bash:加入多个变量的内容
该表时会是这个样子:
Name Average Name Average
A 1 A 1.1
B 2 B 2.2
C 3 C 3.3 etc.
D 4 D 4.4
E 5 E 5.5
我的变量名的列表被称为$ all_variables和这里是它的内容看起来像(在现实情况下多了很多变数):
echo "$all_variables"
$table1
$table2
$table3
$table4
$table5
要创建的连接功能的参数列表中,我创建了$ all_variables_join,其中包含了加入函数的参数:
echo "$all_variables_join"
<(echo "$table1") <(echo "$table2") <(echo "$table3") <(echo "$table4") <(echo "$table5")
那么我想运行加入(基于第一列,所以我使用默认选项),使用这样的事情:
join "$all_variables_join" > file.txt
这将扩大到
join <(echo "$table1") <(echo "$table2") <(echo "$table3") <(echo "$table4") <(echo "$table5") > file.txt
而且file.txt的会包含这样的事情:
Name Average
A 1 1.1
B 2 2.2
C 3 3.3 etc...
D 4 4.4
E 5 5.5
然而,当我尝试运行此我得到这个错误:
join "$all_variables_join" > file.txt
join: missing operand after `<(echo "$table1") <(echo "$table2") <(echo "table3") <(echo "$table4") <(echo "$table5")'
Try `join --help' for more information.
任何想法如何解决这个问题?
任何帮助非常感谢!
感谢
编辑:修正了错误信息,我已经抄错一个
目前还不清楚你想要做什么。听起来像是一个XY问题:对您的问题可能有完全不同的解决方案。 – choroba
基本上我可以减少这一点,说我想从一个变量调用连接参数。加入“$ all_variables_join”> file.txt将被扩展为加入<(echo“$ table1”)<(echo“$ table2”)等 – arielle
扩展似乎运作良好,我只是不明白为什么我得到这个错误消息 – arielle