计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2868|回复 Reply: 5
打印 Print 上一主题 Last thread 下一主题 Next thread

[Linux] 如何通过shell语言编写得到某列的最大值

[复制链接 Copy URL]

38

帖子

0

威望

1161

eV
积分
1199

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
各位老师好,我想通过shell脚本得到A.xyz文件中第4-6列的最大值,并把4、5、6列最大值分别赋给L1、L2、L3变量,请教大家下面的编写是否正确?谢谢
L1=$(awk 'NR==4 {max=$1; next} {max=max>$1? max:$1} END' A.xyz)
L2=$(awk 'NR==5 {max=$1; next} {max=max>$1? max:$1} END' A.xyz)
L3=$(awk 'NR==6 {max=$1; next} {max=max>$1? max:$1} END' A.xyz)

308

帖子

2

威望

3557

eV
积分
3905

Level 5 (御坂)

2#
发表于 Post on 2022-1-24 14:15:45 | 只看该作者 Only view this author
NR是指的行而不是列,标准的xyz有4-6列?不是只有4列的吗?列用NF域

38

帖子

0

威望

1161

eV
积分
1199

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2022-1-24 15:23:51 | 只看该作者 Only view this author
lyj714 发表于 2022-1-24 14:15
NR是指的行而不是列,标准的xyz有4-6列?不是只有4列的吗?列用NF域

好的,谢谢您!应该是gro文件

465

帖子

1

威望

2318

eV
积分
2803

Level 5 (御坂)

4#
发表于 Post on 2022-1-25 03:42:07 | 只看该作者 Only view this author
“$1”恐怕不是4、5、6列吧?

1043

帖子

0

威望

4174

eV
积分
5217

Level 6 (一方通行)

5#
发表于 Post on 2022-1-25 18:00:40 来自手机 | 只看该作者 Only view this author
用 sort -k4n结合tail -n 1获取第4列最大值,并把结果赋予shell变量即可

59

帖子

0

威望

4565

eV
积分
4624

Level 6 (一方通行)

6#
发表于 Post on 2022-3-9 19:56:51 | 只看该作者 Only view this author
awk值得考虑

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-14 03:12 , Processed in 0.154097 second(s), 20 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list