`

Linux数组,去掉重复的数值

 
阅读更多

#!/bin/sh 
 
array=("java" "linux" "c" "linux" "c++" "java") 
len=${#array[@]} 
for((i=0;i<$len;i++)) 
do 
  for((j=$len-1;j>i;j--)) 
  do 
    if [[ ${array[i]} = ${array[j]} ]];then 
      unset array[i] 
    fi 
  done 
done 
 
for arr in ${array[@]} 
do 
  echo $arr 
done 


[root@bogon shell]# ./array1.sh

c

linux

c++

java


以上代码,处理后的数组,如果用下标来访问数组元素,不一定准确。所以,后来将处理完后的数组元素值,重新赋给新的数组了。如下:

array1=("nbi_db" "information_schema" "mysql" "performance_schema" "test" "nbi_db")
length=${#array1[@]}
for  (( i=0; i<$length; i++ )); do
  for (( j=$(expr $length - 1); j>$i; j-- ));do
    if [[ "${array1[$i]}" = "${array1[$j]}" ]];then
      unset array1[$i]
    fi
  done
done

echo "array1 for ... in--------------"
index=0
for arr in ${array1[@]}
do
  echo "[$index] "$arr
  ((index++))
done

echo
echo "array1 for iterator------------"
for ((index=0;index<$length;index++))
do
  echo "[$index] "${array1[$index]}
done

echo

index=0
for arr in ${array1[@]};do
  array2[$index]=$arr
  ((index++))
done

echo
length=${#array2[@]}
for ((index=0;index<$length;index++))
do
  echo "array2[$index]="${array2[$index]}
done


运行结果:
array1 for ... in--------------
[0] information_schema
[1] mysql
[2] performance_schema
[3] test
[4] nbi_db

array1 for iterator------------
[0]
[1] information_schema
[2] mysql
[3] performance_schema
[4] test
[5] nbi_db


array2[0]=information_schema
array2[1]=mysql
array2[2]=performance_schema
array2[3]=test
array2[4]=nbi_db

分享到:
评论

相关推荐

    LINUX与UNIX SHELL编程指南(很全)

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...

    PureBasic 4.3 Linux 版

    关于PureBasic:    PureBasic 是一个新的基于"BASIC"标准的"高级"编程语言. 它兼容其它任何 "BASIC" 编译器, 不管它是Amiga 或 PC ...下载后,请将.rar扩展名去掉, 然后放在你的磁盘上, 使用 tar 命令解压安装!

    Linux shell编程指南

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...

    Linux与unix shell编程指南

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...

    Java面试宝典2010版

    65、去掉一个Vector集合中重复的元素 66、Collection 和 Collections的区别。 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 68、你所知道的集合类都有哪些...

    绝版经典《Linux与UNIX Shell编程指南》

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...

    LINUX与UNIX SHELL编程指南 高清PDF

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...

    linux shell 编程教程

    linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    Linux高级bash编程

    转义序列中数值和彩色的对应 B-1. Special Shell Variables B-2. TEST Operators: Binary Comparison B-3. TEST Operators: Files B-4. Parameter Substitution and Expansion B-5. String Operations B-6. ...

    LINUX与UNIX_Shell编程指南

    详细的介绍了Linux下的编程指南 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对...

    LINUX 与 UNIX SHELL编程指南

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 ...

    LINUX与UNIX SHELL编程指南

    12.1.3 去除重复出现的字符 120 12.1.4 删除空行 120 12.1.5 大写到小写 121 12.1.6 小写到大写 121 12.1.7 删除指定字符 121 12.1.8 转换控制字符 122 12.1.9 快速转换 122 12.1.10 匹配多于一个字符 123 12.2 小结...

    linux与unix shell编程指南.rar

    linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...

Global site tag (gtag.js) - Google Analytics