这类似于在特定数量的分隔符后添加'\n',但是,如果组中的元素是可编程的,则假设该数字.
我们有:
aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm
g=4
Run Code Online (Sandbox Code Playgroud)
我们想要
aaa,bbb,ccc,ddd
eee,fff,ggg,hhh
iii,jjj,kkk,lll
mmm
Run Code Online (Sandbox Code Playgroud)
我们如何用bash实现这一目标?
我尝试了很多选择.这是最新的失败(tmp []是数组):
for e in ${tmp[@]}; do
for i in $(eval echo "{0..$groupsof}"); do
foo[$i]=$e;
done
done
Run Code Online (Sandbox Code Playgroud)
tha*_*guy 10
使用子字符串扩展."${array[@]:offset:length}"让你length开始元素offset:
#!/bin/bash
array=(aaa bbb ccc ddd eee fff ggg hhh iii jjj kkk lll mmm)
g=4
for((i=0; i < ${#array[@]}; i+=g))
do
part=( "${array[@]:i:g}" )
echo "Elements in this group: ${part[*]}"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1631 次 |
| 最近记录: |