zoukankan      html  css  js  c++  java
  • shell 循环排序剔除重复数据

    1.通过循环得到可能出现的数值交叉情况,可能一个数值,可能两个数值,可能三个数值

    var_mem_id_2=(100
                               200
                               300
                               400
                               500
                               600)

    for line_01 in ${var_mem_id_2[@]}
    do
        echo $line_01 >> file.txt
        for line_02 in ${var_mem_id_2[@]}
        do
            arry_02=($line_01,$line_02)
            echo $arry_02 >> file.txt
            for line_03 in ${var_mem_id_2[@]}
            do
                arry_03=($line_01,$line_02,$line_03)
                echo $arry_03 >> file.txt
                for line_04 in ${var_mem_id_2[@]}
                do
                    arry_04=($line_01,$line_02,$line_03,$line_04)
                    echo $arry_04 >> file.txt
                    for line_05 in ${var_mem_id_2[@]}
                    do
                        arry_05=($line_01,$line_02,$line_03,$line_04,$line_05)
                        echo $arry_05 >> file.txt
                        for line_06 in ${var_mem_id_2[@]}
                        do
                            arry_06=($line_01,$line_02,$line_03,$line_04,$line_05,$line_06)
                            echo $arry_06 >> file.txt
                        done
                    done
                done
            done
        done
    done

    2.对于得到的交叉的情况,剔除同一行的重复数据并排序

    for line_01 in $(cat file.txt)
    do
    arry_01=`echo $line_01 | sed 's/,/ /g' | sort | uniq | tr -s ' ' ',' | sed 's/,$//g'`
    echo $arry_01 >> sort.csv
    done

    3.剔除整个文件的重复数据

    sort -k2n sort.csv | uniq > a.csv

  • 相关阅读:
    Spring Boot (十四): Spring Boot 整合 Shiro-登录认证和权限管理
    Spring Boot (十三): Spring Boot 小技巧
    救人一命是怎样的体验?
    如何做一个对账系统
    人工智能发展史-从图灵测试到大数据
    编程科普书籍推荐
    springcloud(十):服务网关zuul
    springcloud(九):配置中心和消息总线(配置中心终结版)
    springcloud(八):配置中心服务化和高可用
    springcloud(七):配置中心svn示例和refresh
  • 原文地址:https://www.cnblogs.com/Arabi/p/11672622.html
Copyright © 2011-2022 走看看