工作中用到的linux命令

都是工作中用到的,解决问题至上,不求甚解,怕再忘了,所以记录一下,勿喷。

cat xxx..log |grep ,,,,,,|sed 's/,,/\t/g'|cut -f ,|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 -

先说一下这条命令:

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

cat catalina.out|grep "process start"|sed 's/\[\([^]]*\)\].*\[ad: \([^ ]*\), ip: \([^]]*\)\]: /\1\t\2\t\3\t/'
cat hao123.log|awk '{if($5~"www.hao123.com/\\?tn=.+"){tn=substr($5,20);if(index(tn,"&")!=0)tn=substr(tn,0,index(tn,"&")-1);a[tn" "$4]++;b[tn]++}}END{for(i in a)print i,b[substr(i,0,index(i," ")-1)]}'|awk '{a[$1]++;b[$1]=$3}END{for(i in a)print b[i]"\t"a[i]"\t"i}'|sort -k1nr
上一篇:JAVA PERSISTENCE API (JPA)


下一篇:sprint3(第一天)