Shell处理文件

待处理的文件(忽略第一行)

日期          开盘       收盘        涨跌     涨跌幅
20080102    5,265.00    5,272.81   11.25    0.210%
20080103    5,269.80    5,319.86   47.05    0.892%
20080104    5,328.41    5,361.57   41.71    0.784%
20080107    5,357.45    5,393.34   31.77    0.593%
20080108    5,414.56    5,386.53   -6.81    -0.126%
20080109    5,365.22    5,435.81   49.28    0.915%
20080110    5,449.16    5,456.54   20.73    0.381%
20080111    5,471.39    5,484.68   28.14    0.516%
20080114    5,507.58    5,497.90   13.22    0.241%
20080115    5,503.93    5,443.79   -54.11   -2.984%
20080116    5,395.28    5,290.61   -153.18  -2.814%
20080117    5,235.91    5,151.63   -138.98  -2.627%
20080118    5,141.37    5,180.51   28.88    0.561%
20080121    5,188.80    4,914.44   -266.07  -5.136%
20080122    4,818.00    4,559.75   -354.69  -7.217%
20080123    4,572.90    4,703.05   143.30    3.143%
20080124    4,753.44    4,717.73   14.68     0.312%
20080125    4,716.98    4,761.69   43.96     0.932%
20080128    4,720.56    4,419.29   -342.40   -7.191%
20080129    4,426.27    4,457.94   38.65     0.875

处理

1.只列出上涨的交易日的行情数据   
grep -v "-" shanghai.txt

2.总共有多少个交易日,其中上涨的交易日有多少天
wc -l shanghai.txt
grep -v "-" shanghai.txt |wc -l

3.单日涨幅最高的交易日是哪一天,列出当天的行情
sort -n -r -k4 shanghai.txt |sed -n "1p" 
sort -n -r -k4 shanghai.txt |head -1

4.只列出单日涨幅超过3%的行情数据
awk '{if($NF>3){ptint $0}}' shanghai.txt

5.只列出涨跌在0-15之间行情数据,并统计天数
awk '{if($4>0&&$4<15) ptint{$0}}' shanghai.txt

6.只列出20080111的数据
grep "20080111"  shanghai.txt

7.列出1月份的数据
grep "200801" shanghai.txt

8.列出1月份所有上涨的数据
grep "200801" shanghai .txt |grep -v "-"

9.统计1月份所有上涨的数据
grep "200801" shanghai.txt |grep -v "-" |wc -l

10.显示1月份上涨幅度最大的一天
grep "200801" shanghai.txt |sort -k5 -n |tail -1
grep "200801" shanghai.txt |sort -k5 -n |sed -n '$p'
grep "200801" shanghai.txt |sort -k5 -n -r |head -1
grep "200801" shanghai.txt |sort -k5 -n -r |sed -n '1p'

11.显示1月份所有上涨数据的时间和上涨幅度(%)
grep "200801" shanghai.txt |awk '{if ($4 >0){print $1,$5}} '

12.列出1月份涨跌在5-20的数据
grep "200801" shanghai.txt |awk '{if ($4 > 5 && $4 < 20) {print $0}}'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值