免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: Jason_0316
打印 上一主题 下一主题

[文本处理] Shell 脚本编写 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2016-06-02 15:10 |只看该作者
回复 20# sunzhiguolu


    可以了,非常感谢!

论坛徽章:
2
luobin
日期:2016-06-17 17:46:36lufei
日期:2016-06-17 17:49:16
22 [报告]
发表于 2016-06-02 15:46 |只看该作者
本帖最后由 hz_oracle 于 2016-06-02 16:14 编辑

#!/bin/bash
#
time=`awk '!a[$3]++{print $3}' bu.txt`
for i in $time
do
key=`grep "$i" bu.txt | awk -F"BU|-" '{print $2}' | sort -n | sed -n '$p'`
k=`grep "$i" bu.txt |grep "BU$key" | sort | sed -n '$p' | awk -F"BU" '{print $2}'`
echo "$k"
sleep 1
done


虽然写的搓了点,但能用

论坛徽章:
3
程序设计版块每日发帖之星
日期:2016-02-23 06:20:0015-16赛季CBA联赛之八一
日期:2017-10-26 17:58:2515-16赛季CBA联赛之北控
日期:2017-11-02 10:50:56
23 [报告]
发表于 2016-06-02 17:17 |只看该作者
#!/usr/bin/env python3
import sys


with open('/root/1.txt') as f:
    l = f.readlines()
    nl = [[i.split('-')[0].replace('BU', ''), i.split()[1], i.split()[2]] for i in l]
    fl = [i for i in nl if sys.argv[1] <= i[2] <= sys.argv[2]]
    tml = sorted(list(set([i[2] for i in fl])))
    for i in tml:
        c1l = [int(j[0]) for j in fl if j[2] == i]
        max_c1 = max(c1l)
        for j in fl:
            if int(j[0]) == max_c1 and j[2] == i:
                print(' '.join(j))

论坛徽章:
0
24 [报告]
发表于 2016-06-04 00:16 |只看该作者
  1. awk '{if (a[$3] <= strtonum(substr($1, 3))) {a[$3]=strtonum(substr($1, 3));b[$3]=$2;}}END{for(i in a) print a[i], b[i], i;}' /tmp/1.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP