命令说明:统计文本文件中有多少字,多少行,多少字符。
格式:wc [-lwm]
参数说明:
-l:仅显示行数;
-w:仅显示字数(英文单词个数);
-m:字符数;
使用
从文本中提取部分数据排序输出
//数据格式 2015-12-01 19:59:26,272 WARN response key:a4b3f38430e*********,ip:127.0.0.1,path:/send.json,code:0,msg:OK,result:{"count":1,"fee":1,"sid":3300630588} cat response.log | cut -d "," -f 1 | sort | uniq -c | sort -k1,1nr | head // 结果 2643 2015-12-01 11:00:00
- 先将数据用cut输出到cut中,cut使用”,”将每行的数据分割并取出第一列。
- sort排序后用uniq -c 将重复行合并并在第一列输出重复次数。
- sort默认按照空格、\t 分割,-k指定排序关键字,n是按照数字排序,r是反序。
- 内容定向到head中输出头部
sort默认分隔符是tab和空格 若要指定使用
sort -t$'\t' a.txt
从文本中两次分割提取并提取字符字节数
//数据格式 127.0.0.1 - - [01/Dec/2015:16:14:34 +0800] "POST /v1/sms/send.json HTTP/1.1" 200 78 cut -d "+" -f1 localhost_access_log.2015-12-01.txt | cut -d "[" -f2|uniq -c|sort -k1,1nr | head cat localhost_access_log.2015-12-01.txt | grep "01/Dec/2015:11:20.*200" | wc //结果 2643 2015-12-01 11:00:00