现在有如下结构的数据需要进行如下特殊处理,处理使用grep awk等命令进行。
数据内容如下:
日期 开盘 收盘 涨跌 涨跌幅
20180102 5,265.00 5,272.81 11.25 0.210%
20180103 5,269.80 5,319.86 47.05 0.892%
20180204 5,328.41 5,361.57 41.71 0.784%
20180207 5,357.45 5,393.34 31.77 0.593%
20180308 5,414.56 5,386.53 -6.81 -0.126%
20180309 5,365.22 5,435.81 49.28 0.915%
20180310 5,449.16 5,456.54 20.73 0.381%
20180411 5,471.39 5,484.68 28.14 0.516%
20180414 5,507.58 5,497.90 13.22 0.241%
20180515 5,503.93 5,443.79 -54.11 -2.984%
20180516 5,395.28 5,290.61 -153.18 -2.814%
20180617 5,235.91 5,151.63 -138.98 -2.627%
20180618 5,141.37 5,180.51 28.88 0.561%
20180721 5,188.80 4,914.44 -266.07 -5.136%
20180722 4,818.00 4,559.75 -354.69 -7.217%
20180823 4,572.90 4,703.05 143.30 3.143%
20180824 4,753.44 4,717.73 14.68 0.312%
20180925 4,716.98 4,761.69 43.96 0.932%
20180928 4,720.56 4,419.29 -342.40 -7.191%
20181009 4,426.27 5,443.79 38.65 0.875
20181016 5,395.28 5,290.61 -153.18 -2.814%
20181017 5,328.41 5,151.63 -138.98 -2.627%
20181118 5,357.45 5,180.51 28.88 0.561%
20181121 5,414.56 4,914.44 -266.07 -5.136%
20181122 5,365.22 4,559.75 -354.69 -7.217%
20181123 5,449.16 4,703.05 143.30 3.143%
20181224 5,471.39 4,717.73 14.68 0.312%
20181225 5,507.58 4,761.69 43.96 0.932%
20181228 5,503.93 4,419.29 -342.40 -7.191%
20181229 5,395.28 4,717.73 38.65 0.875%
1、只列出上涨的交易日的行情数据
grep -v "-" file
解释:-v 反向匹配
处理结果:
2、总共有多少个交易日,其中上涨的交易日有多少天
grep -v "-" file | wc -l
处理结果:
3、单日涨幅最高的交易日是哪一天,列出当天的行情
sort -k4 -n -r file | sed -n '1p'
解释: -k 指定分类是域上的数字;
-n 按数字大小输出;
-r 按逆序输出排序结果;
处理结果:
4、只列出单日涨幅超过3%的行情数据
awk '{if($5>3){print }}' file
处理结果:
5、只列出涨跌在0-15之间行情数据,并统计天数
awk '{if(($4>0) && ($4 < 15)) {print }}' file
处理结果: