`

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系统分析与高级编程技术7

    以上程序展示了如何使用不同类型的引用、执行系统命令获取当前日期并去除末尾的换行符。通过这些示例,我们可以看到Perl的强大之处,它能够轻松处理复杂的文本和数据操作,同时保持代码的清晰性和可读性。

    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 小结...

    sed 使用手册linux unix 下常用的文本处理工具。用来处理格式化文本

    根据提供的文件信息,我们可以归纳出一系列关于sed与awk在Linux/Unix系统下的使用方法与技巧。下面将详细解析这些知识点: ### sed 常用命令与应用 #### 1. 删除空行 ``` sed '/^$/d filename' ``` 这条命令会删除...

    绝版经典《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环境下awk工具的使用技巧和sed的基本操作,还了解了文件数据处理的逻辑和数值计算方法。掌握这些技能有助于在处理系统日志、数据报表或其他文本文件时,能够更加高效和准确地...

    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 绝对...

    Shell+Linux命令实现日志分析

    通过`awk`提取第一列(IP地址),使用`sort`对IP进行排序,然后`uniq`去除重复,最后`wc -l`计算行数,即IP数量: ```bash awk '{print $1}' log_file | sort | uniq | wc -l ``` 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 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