待处理的文件(忽略第一行)
日期 开盘 收盘 涨跌 涨跌幅
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}}'