美文网首页
linux 数组

linux 数组

作者: caokai001 | 来源:发表于2019-04-01 21:23 被阅读0次

数组:
https://blog.csdn.net/Jerry_1126/article/details/52027539

对数组不了解,进行一下笔记:

A=(SRR1.sam SRR2.sam SRR3.sam)
需要对A数组每个元素添加.bam后缀,操作如下:

[kcao@login 04_trim]$  echo ${A[*]}
SRR1.sam SRR2.sam SRR3.sam

[kcao@login 04_trim]$ for i in `seq ${#A[*]}`;do A[i-1]=${A[i-1]}.bam;done;echo ${A[*]}
SRR1.sam.bam SRR2.sam.bam SRR3.sam.bam

或者
[kcao@login 04_trim]$ echo ${b[*]}
SRR1.sam.bam SRR2.sam.bam SRR3.sam.bam

数组声明:

declare -a array_name
declare -a nums=(1 2 3 4)
unset array_name 删除数组
unset nums[0] 删除元素
可以不实现声明,直接进行定义
>数组定义:
array_name = (1 2 3 4 5 6 name age) # 1
array_name[0]=asd # 2
array_name[2]=asda
array_name=([0]=asda [1]=qwea [2]=sqzd) # 3
str="asda asda adsa qweq "
array_names=($str) # 4

求数组长度:

${#array_name[@]}
${#array_name[*]}

求数组某个元素的长度:

${#array_name[2]} 第三个元素的长度 # 1
expr length ${array_name[2]} # 2
echo ${array_name[2]} | wc -L # 3
echo -n ${array_name[2]} | wc -l # 4

数组索引:

s="A,B,C,D"
a=(`echo $s | tr ',' ' '`)
echo ${!a[@]}

数组遍历:

names=(asda aqwe sda gsdf wqe)
for (( i=0;i<${#array_name[*]};i++ )) 按索引遍历
echo ${array_name[$i]}
do
    echo ${array_name[$i]}
done
for i in ${array_name[*]] 不按索引遍历
do
      echo $i
done

数组添加元素:

array_name=(1 2 3 4)
array_name[4]=5 # 1 使用索引添加元素
old=(1 2 3 4)
new=(${old[*]} 5) # 构建新数组

分片访问

分片访问形式为:${数组名[@或*]:开始下标:结束下标},注意,不包括结束下标元素的值。
例如:${arr_number[@]:1:4},这里分片访问从下标为1开始,元素个数为4。

模式替换

形式为:${数组名[@或*]/模式/新值}
例如:${arr_number[@]/2/98}

相关文章

  • Linux Shell 动态生成 数组系列 Seq 使用技巧

    Linux Shell 动态生成 数组系列 Seq 使用技巧 如果对linux shell 数组不是很熟悉的话,请...

  • Linux Shell:Shell数组操作

    摘要:Linux,Shell Shell数组类型 Shell数组分为普通数组和关联数组,普通数组就是相同类型的元素...

  • Shell 数组与数学运算

    参考书籍 Linux shell 脚本攻略 数组和关联数组 数组分类普通数组:只能使用整数作为数组索引。关联数组:...

  • linux 数组

    数组:https://blog.csdn.net/Jerry_1126/article/details/52027...

  • Fortran for MPI coding record

    1、数组内存顺序对于数组的传递和接收非常重要。(http://micro.ustc.edu.cn/Linux/MP...

  • 1.7 数组和关联数组

    《Linux Shell 脚本攻略(第 2 版)》读书笔记 定义数组 或者 打印指定索引的数组元素内容 以清单形式...

  • Linux基础 - shell数组

    摘要 数组的特性就是一组数据类型相同的集合,虽然shell是弱类型,但是我们也可以将其数组分为数据类型的数组和字符...

  • linux shell数组基础

    1什么是数组: 一组类型相同的数据的集合,有数值型和字符型 2 linux shell如何表示数组 不管数值型还是...

  • 探探后端开发面经

    两个有序数组例如a[](1,3,6,9)b[](4,5,6,7)求两个数组绝对值差最小值,思路并实现。 linux...

  • 字节跳动(今日头条)SRE面试题目

    答得不好 算法 用数组和链表实现HashMap linux tcp拆链的4次握手 select, poll, ep...

网友评论

      本文标题:linux 数组

      本文链接:https://www.haomeiwen.com/subject/isgbbqtx.html