都是工作中用到的,解决问题至上,不求甚解,怕再忘了,所以记录一下,勿喷。
cat xxx.20140725.log |grep ,,2,,1,,|sed ‘s/,,/\t/g‘|cut -f 1,10|awk ‘{a[$0]++}END{for(i in a) print i}‘|awk ‘{a[$2]++}END{for(i in a) print a[i],i}‘|sort -k1nr|head -10
先说一下这条命令:
cat:打印文件内容
grep:查找,用到的有\s匹配空白字符
sed:刚用到,初步看来是不用依赖vim可以做一些vim命令模式下的操作
cut:分割字符串,默认是制表符,-d重新指定一个字符,sed替换之后可以弥补只能只用单字符的限制
awk:很强大的一门语言,基本格式:‘pattern BEGIN{action}{action}END{action}‘,$0整行,$1第一个域(默认以空格分割,-F重新指定一个字符)
sort:排序,常用-u去重排序,-k1是取第几个元素(默认空白字符分割,使用-t重新指定一个字符),-n以数字,-r倒序
head:取前几行,-10
tail:取后几行,-10
时间: 2024-10-13 05:00:20