bash数组操作

1.数组声明和赋值

>>>declare -a array  # unnecessary
#The following 3 lines all can define an array and give values
>>>array=(0 1 2)
>>>array=([0]=0 [1]=1 [2]=v2)
>>>array[0]=0

#以空白作为分隔符拆分字符串为数组
>>>str="1 2 3"
>>>array=($str)

#使用declare -p array 来查看是否数组和数组的结构
>>>declare -p array  #输出为 declare -a arr='([0]="1" [1]="2" [2]="3")'

#使用其它分隔符拆分字符串为数组,需指定IFS
>>>IFS=: array=($PATH)

#使用read -a 拆分字符串为数组
>>>read -a array <<<$str
>>>declare -p array #输出为 declare -a arr='([0]="1" [1]="2" [2]="3")'

>>>IFS=/ read -r -a PARTS <<<$PWD 

2.引用数组元素:

$array  ${array}  ${array[0]}  #第0个元素
${array[n]}  #第n个元素(n从0开始计算)

3.引用整个数组

${array[*]}  ${array[@]}   这两种方式等同,会把数组展开。

${array[*]}  表示把数组拼接在一起的整个字符串,如果作为参数传递,
               会把整个字符串作为一个参数。

${array[@]}  如果作为参数传递,表示把数组中每个元素作为一个参数,
               数组有多少个元素,就会展开成多少个参数。

3.计算数组元素长度:

${#array[*]}  ${#array[@]}   不是 ${#array},因为它等同于 ${#array[0]}

4.遍历数组

for i in "${array[@]}"; do echo $i; done

5.

6.

参考:http://codingstandards.iteye.com/blog/1164910

CHENTONG
版权声明:本文为博主原创文章,转载请注明出处。
alipay.png

CHENTONG

CHENTONG
积微,月不胜日,时不胜月,岁不胜时。凡人好敖慢小事,大事至,然后兴之务之。如是,则常不胜夫敦比于小事者矣!何也?小事之至也数,其悬日也博,其为积也大。大事之至也希,其悬日也浅,其为积也小。故善日者王,善时者霸,补漏者危,大荒者亡!故,王者敬日,霸者敬时,仅存之国危而后戚之。亡国至亡而后知亡,至死而后知死,亡国之祸败,不可胜悔也。霸者之善著也,可以时托也。王者之功名,不可胜日志也。财物货宝以大为重,政教功名者反是,能积微者速成。诗曰:德如毛,民鲜能克举之。此之谓也。

R 学习

R语言是比较常用的统计分析和绘图语言,拥有强大的统计库、绘图库和生信分析的Bioconductor库,是学习生物信息分析的必备语言之一。Rstudio是编辑、运行R语言的最为理想的工具之一,支持纯R脚本、Rmarkdown (脚本文档混排)、Bookdown (脚本文档混排...… Continue reading

本地使用Rfam 12.0+

Published on June 16, 2017

Linux学习(一)- 文件和目录

Published on June 08, 2017