【发布时间】:2018-09-11 12:26:13
【问题描述】:
如何在键之间平均分配值的总数。
我正在尝试将值平均分配给键。我不希望值 vcn[01-05] 和 vcn[06-10] 分别位于键 vsn01 和 vsn02 之下。相反,我希望像 vcn[01,03,05,07,09] 和 vcn[02,04,06,08,10] 之类的东西分别属于键 vsn01 和 vsn02。
举例
值的数量:-
vcn01
vcn02
vcn03
vcn04
vcn05
vcn06
vcn07
vcn08
vcn09
vcn10
键
vsn01
vsn02
期望的输出
vsn01
vcn01
vcn03
vcn05
vcn07
vcn09
vsn02
vcn02
vcn04
vcn06
vcn08
vcn10
注意:-
键的总数 - 20 即 vsn[01-20]
值的总数 - 100 即 vcn[01-100]
试过了:-
#! /bin/bash
function create_vsn_vcn_lists ()
{
pnode_cnt=$1
vcn_cnt=$2
declare -a vcn_lists
for i in `seq $pnode_cnt`; do
${vcn_lists[${i}]}=''
done
for i in `seq $vcn_cnt`; do
for j in `seq $pnode_cnt`; do
ret=`expr ${i} % ${j}`
if [ $ret -eq 0 ]; then
${vcn_lists[${j}]}="${vcn_lists[${j}]} vcn${i}"
fi
done
done
for i in `seq $pnode_cnt`; do
echo ${vcn_lists[${j}]}
done
}
create_vsn_vcn_lists 2 20
【问题讨论】:
-
你的意思是你想把偶数/奇数方法分配给01和02?如果有 03、04 05 怎么办?那时我们应该得到什么输出?
-
不是真的,以防在缩放时我有 vsn - 3 Nos 即 vsn01,vsn02,vsn03 和总值 -15 Nos 即 vcn[01-15] 然后 vsn01 - vcn01 vcn04 vcn07 vcn10 vcn13 vsn02 - vcn02 vcn05 vcn08 vcn11 vcn14 vsn03 - vcn03 vcn06 vcn09 vcn12 vcn15
-
您为自己尝试了什么? @user3742796
-
@Inian 更新问题,答错了!
-
@user3742796,请检查我的答案一次,如果这对您有帮助,请告诉我?
标签: bash shell awk sed scripting