24小时热门版块排行榜    

查看: 718  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

zhangyujin

铜虫 (正式写手)

[求助] 怎样拣出一系列文档中每个文档第二列的最大值

我的程序运行出来结果是这样存放的:一个主文件夹下有十个子文件夹名字各不相同1、2、3、4……,每个子文件夹下有三十个.dat文档名字也不相同(z_0_E_t.dat/z_2_E_t.dat……),每个文档中有两列数据,每列有55602行。我需要把每个子文件夹中z_0_E_t.dat和z_2_E_t.dat中第二列的最大值求出来,然后把这些最大值放在一个文档中输出来,输出格式是二列,第一列存放的是十个子文件夹每个文件夹中的z_0_E_t.dat文档的第二列的最大值,第二列存放的是十个子文件夹每个文件夹中的z_2_E_t.dat文档的第二列的最大值。哪位高手能编写个小程序实现这个功能?什么语言都可以。感激不尽啊。
回复此楼
Hardworking!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haixiawu

金虫 (文坛精英)

【答案】应助回帖

引用回帖:
8楼: Originally posted by zhangyujin at 2013-03-03 09:24:18
我们的集群是每个人一个账户,统一管理的,所以提交任务需要先建立一个临时目录,、计算相关信息存放在临时目录里,计算完了再删掉。下面的脚本是一个可执行的脚本,实现的是把bin文件夹里的若干个程序一起提交,按 ...

首先目录结构:
$PBS_O_WORKDIR
      +--- bin
       |       +---test.sh
      +-- data
              +---1.f90.out
                       +--- xxx.dat
                       +--- ...
              +---2.f90.out
              +....

vim test.sh
### start of script
#!/bin/bash
cd ../data
for d in `ls -d -- */`; do
    cat $d/z_0_E_t.dat | awk '{print $2}' | sort -r | sed -n '1p' >> tmp
    cat $d/z_2_E_t.dat | awk '{print $2}' | sort -r | sed -n '1p' >> tmp
done

sed 'N;s/\n/ /' tmp > final.txt
### end of script
9楼2013-03-03 10:33:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

liuhuisfp

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-03-02 14:13:23
zhangyujin: 金币+10, 有帮助, 这样出来的不是按照顺序排列的呢 显示出来的数据有大有小 没什么规律 2013-03-02 21:03:29
cut -d\' \' -f 2 youfile | sort |tail

记不清这几个命令的参数了,如果不对看下帮助

基本方法是:
利用管道

cut的-d指定列与列间的分隔符,-f指定你要的列
sort将数据排序,排序貌似是升序,如果不对,加参数要求按数值或字符排
tail取最后10个

[ 发自手机版 http://muchong.com/3g ]
2楼2013-03-02 11:18:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖

感谢参与,应助指数 +1
你说的这么复杂,把你的文件贴出来看看
原始文件以及想要生成的目标文件都贴出来,这种文件处理的编程需要看过文件后才能确定。
还有,z_0_E_t.dat和z_2_E_t.dat的名字是固定的,还是你随便写的,或者在各个文件夹里面仍有变化。
这些问题都要说明清楚。
努力学习!以正当途径!获得需要的知识!
3楼2013-03-02 14:19:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangyujin

铜虫 (正式写手)

如图,Result文件夹下有1.f90.out-10.f90.out个子文件夹,每个子文件夹下有若干个.dat文件(输出文件是文本文档,图片中的显示有问题,应该是写字板的图标),右侧是文本文档中的内容,我需要把第二列的数据的最大值寻出来。

_{}F4OG1Q1W7R~Z@6(G~LTV.jpg

Hardworking!!
4楼2013-03-02 15:41:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见