Chinaunix

标题: 求大佬带我飞,想用shell 做个取绝对值最大的脚本 [打印本页]

作者: 春风十里跑得快    时间: 2018-11-06 16:29
标题: 求大佬带我飞,想用shell 做个取绝对值最大的脚本
我有几个数据,想让它们跟某一个特定的数值进行差值计算,然后返回绝对值最大的那个。
比如说有  
123
456
111
跟100差值计算
返回456
不知道怎么写  希望大佬带带我!

作者: wh7211    时间: 2018-11-06 17:23
回复 1# 春风十里跑得快


<<<awk4.0+
  1. cat 1
  2. 123
  3. 456
  4. 111

  5. awk -va=100 '{b[NR]=a>$1?a-$1:$1-a;c[NR]=$1}END{asorti(b,d,"@val_num_desc");print c[d[1]]}' 1
  6. 456
复制代码

作者: 春风十里跑得快    时间: 2018-11-07 09:46
回复 2# wh7211

那如果是数组呢,您这个我都要去研究一下。shell才入门是真的难
作者: wh7211    时间: 2018-11-07 11:36
回复 3# 春风十里跑得快

b,c,d都是数组
作者: vagrant_1220    时间: 2018-11-07 18:16
awk  'function abs(v) {return v < 0 ? -v : v} BEGIN{a=100;t=0;out=0}{c=abs(a-$1);if(c>t) {t=c;out=$0}}END{print out}' file
456




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2