[英]how to pull items from an element in an array using ksh93?
I have the following file 我有以下文件
acc1:server1:server2:acc1234:blah:blah
acc2:server1:server5:acc4321:blah:blah
acc3:server1:server3:acc2222:blah:blah
Each line of the above file is an element in an array. 上面文件的每一行都是数组中的一个元素。 I only need to get the first three items so
accX:serverX:serverX
. 我只需要获取前三项,即
accX:serverX:serverX
。
How can I pull out only the first three items of each element without the ":" using ksh93? 如何使用ksh93拔出每个元素的前三个项目而没有“:”呢?
Thanks! 谢谢!
Does this work for you: 这对您有用吗:
$ set -A myarr acc1:server1:server2:acc1234:blah:blah acc2:server1:server5:acc4321:blah:blah acc3:server1:server3:acc2222:blah:blah
$ $ for ele in ${myarr[@]}; do ele=${ele%:*:*:*}; echo ${ele//:/ }; done
acc1 server1 server2
acc2 server1 server5
acc3 server1 server3
#!/bin/ksh
file=~/kshinput.txt
index=0
while read line
do
myarray[$index]=${line%:*:*:*}
((index=index+1))
done <"$file"
for i in {0..$index}
do
echo "$i: ${myarray[$i]}"
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.