• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > linux shell实现求一个多维数组中的最大和最小值

linux shell实现求一个多维数组中的最大和最小值

作者:mdxy-dxy 字体:[增加 减小] 来源:互联网

mdxy-dxy 通过本文主要向大家介绍了linux shell 数组,linux shell 定义数组,linux shell脚本,linux shell编程,linux shell脚本攻略等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

同事发了一道shell题,是求一个多维数组中的最大和最小值
如文件 99file:
 
33      55      23      56      99
234     234     545     6546    34
11      43      534     33      75
43      34      76      756     33
343     890     77      667     55

我的实现之一:

#! /bin/bash
echo "the file is :"
cat 99shu
max=0
min=999999
line=1
dnum=$(cat 99shu| wc -l)
while (($line<=$dnum))
do
for i in $(cat 99shu|head -"$line")
    do
  ((max<$i))&&max=$i
    ((min>$i))&&min=$i
    done
let ++line
done
 
echo "the max number is: $max"
echo "the min number is : $min"
</div>

结果:

the max number is: 6546
the min number is : 11

实现之二:

#! /bin/bash
# echo the MAX and the MIN

echo "the numbers is:"
cat 99shu
mnum=0
min=99999
while  read line 
do
declare -a arr=($line)
lnum=$(echo $line | wc -w)
i=0
while (( $i<$lnum ))
do
(($mnum<${arr[i]})) && mnum=${arr[i]}
(($min>${arr[i]})) && min=${arr[i]}
let ++i
done
done < 99shu
echo "the max number is $mnum"
echo "the min number is $min"
</div>

实现3,强大的awk

#! /bin/bash
echo "the MAX number is: $( cat 99shu | awk '{for(i=1;i<=NF;i++)if(max<$i) max=$i;print max}'|tail -1)"
echo "eht MIN number is: $( cat 99shu | awk '{min=999999;for(i=1;i<=NF;i++)if(min>$i)min=$i;print min}'|sort|head -1 )"
</div>

实现4:

#!/bin/bash
min=$(cat  99shu | tr "\t" "\n"|tr " " "\n"|sort -n|uniq|grep -v "^$"|head -1)
max=$(cat  99shu | tr "\t" "\n"|tr " " "\n"|sort -n|uniq|grep -v "^$"|tail -1)
echo "The MAX number is $max"
echo "The MIN number is $min"
</div>

</div>

您可能想查找下面的文章:

  • Linux在shell中自动生成1到100的数组方法(两种方法)
  • linux shell实现求一个多维数组中的最大和最小值
  • Linux Shell 数组建立及使用技巧
  • Linux Shell 数组的创建及使用技巧
  • shell数组操作简明总结
  • shell数组常用实例分享

相关文章

  • Shell脚本批量清除Nginx缓存
  • Shell脚本监控网站页面正常打开情况
  • shell版Nginx日志蜘蛛爬取查看脚本
  • shell 脚本安装PHP扩展的简单方法
  • Shell脚本实现自动发送邮件的例子
  • Shell脚本实现检测Cygwin最快的镜像站点
  • Shell时间(date)相关命令
  • git多账号登录问题解析
  • 脚本实现SSH登录邮件报警
  • Shell脚本中让进程休眠的方法(sleep用法)

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 一波实用的Bash Shell整理
    • Shell脚本判断Apache进程是否存在
    • Shell脚本实现复制文件到多台服务器的代码分享
    • Linux下JDK中文字体乱码的解决方法
    • Linux BASH多进程并行处理的方法实现
    • 深入浅出Shell编程 Shell变量介绍
    • linux下通过命令行获取gmail的新邮件
    • 1 秒内启动Linux的方法
    • shell实现字符编码转换工具分享
    • CPU负载监控脚本代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有