linux命令和awk

1、统计一下代码量

find . -name "*.py" | xargs wc -l | awk 'BEGIN {size = 0} { size+=$1} END{print size/2}' 
find . -name "*.py" | xargs cat | wc -l

(1)find,拿到所有py结尾的文件,你写相对路径得到相对路径,绝对路径得到绝对路径

(2)wc -l计数

(3)awk求和,wc其实能算出来总数,所以后面除2

2、对满足某个条件的字段计数

cat a.text | awk '{if ($1 > "2017-12-01 12:30:00") { count[$2]++;} } END{for (i in count) { print i, count[i]}}'

3、打印error的前后5行

grep -C 5 'error' a.text
grep -A 5 'error' a.text
grep -B 5 'error' a.text
grep -e 'error' -e '[0-9]' a.text
grep -E 'a|b' -E '^[abc]' a.text

 (1)-B后5行,-A前5行,-Ccontext前后5行

(2)或条件-e,-E grep支持regex,-E支持扩展regex

原文地址:https://www.cnblogs.com/kangoroo/p/6673422.html