Chinaunix
标题:
shell for循环取数组
[打印本页]
作者:
我叫萌萌
时间:
2015-12-18 17:10
标题:
shell for循环取数组
有如下数组:
a="1 2 3 4"
b="A D C B"
c="E F G H"
d="5 6 7 8"
如何能得到新数组:
1 A E 5
2 D F 6
3 C G 7
4 B H 8
求指教!
作者:
zxy877298415
时间:
2015-12-18 17:24
awk -F\" '{t=split($2,a," ");for(i=1;i<=t;i++) b[i]=b[i]?b[i]=b[i]" "a[i]:a[i]}END{for(i=1;i<=t;i++) print b[i]}' file
1 A E 5
2 D F 6
3 C G 7
4 B H 8
复制代码
回复
1#
我叫萌萌
作者:
vagrant_1220
时间:
2015-12-18 17:26
for ((i=0;i<4;i++))
do
echo "${a[${i}]} ${b[${i}]} ${c[${i}]} ${d[${i}]}"
done
作者:
我叫萌萌
时间:
2015-12-18 17:28
回复
2#
zxy877298415
我这个不是文件..是要写的脚本如下:
#!/bin/bash
a="1 2 3 4"
b="A D C B"
c="E F G H"
d="5 6 7 8"
作者:
我叫萌萌
时间:
2015-12-18 17:31
回复
3#
vagrant_1220
不对....
作者:
陈卓文
时间:
2015-12-19 14:50
本帖最后由 陈卓文 于 2015-12-19 14:50 编辑
#!bin/bash
a=(1 2 3 4)
b=(A D C B)
c=(E F G H )
d=(5 6 7 8 )
for((i=0;i<4;i++));do
new_array=(${a[$i]} ${b[$i]} ${c[$i]} ${d[$i]})
echo ${new_array[@]}
done
作者:
jcdiy0601
时间:
2015-12-21 09:33
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
a = "1 2 3 4";a = a.split()
b = "A D C B";b = b.split()
c = "E F G H";c = c.split()
d = "5 6 7 8";d = d.split()
for i in range(len(a)):
print a[i],b[i],c[i],d[i]
复制代码
作者:
Shell_HAT
时间:
2015-12-21 09:42
回复
4#
我叫萌萌
哪本书上告诉你 a="1 2 3 4" 这样能得到一个数组?
作者:
我叫萌萌
时间:
2015-12-21 09:46
回复
8#
Shell_HAT
是这样的a=()我写错了
作者:
我叫萌萌
时间:
2015-12-21 10:44
回复
6#
陈卓文
好的 可以用 谢谢了
作者:
rulebook
时间:
2015-12-21 15:19
echo -e "$a\n$b\n$c\n$d" | awk '{for(i=1;i<=NF;i++){a[i]=a[i]!=""?a[i]" "$i:$i}}END{for(i=1;i<=asort(a);i++){print a[i]}}'
复制代码
for((i=1;i<=4;i++)); do for j in a b c d; do printf `echo ${!j} | cut -d" " -f$i`" "; done ;echo ; done
复制代码
作者:
夏洛特猫
时间:
2016-06-01 16:57
默默的笑了+1 回复
8#
Shell_HAT
作者:
ll104567
时间:
2016-06-06 20:16
夏洛特猫 发表于 2016-06-01 16:57
默默的笑了+1 回复 8# Shell_HAT
默默的笑 +1
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2