shengulong

1、tail -n +/-数字 文件名

2、head -n 数字 文件名

3、sed -n "开始行,结束行p" 文件名

4、sed -n \'1p;20,40p; "显示第一行和20到40行\'

5、sed -n 7p file_name : 显式第7行

6、cat file_name | awk \'NR==1 || NR==2 || NR==10\'  显式第1、2、10行

 统计行数的几种方法:

wc -l  test.txt显示文件的行数

sed -n \'$=\' test.txt 显示文件的行数  -n表示只打印匹配的结果

grep -c "" filename        -c, --count               print only a count of matching lines per FILE

awk \'END{print NR}\' filename   awk的BEGIN和END表示匹配开始之前匹配结束之后执行的动作

效率对比:

生成测试所需文件:awk \'BEGIN{for(i=0;i<10000000;i++)print i}\'>>test

wc方法: time wc -l test

1、time wc -l test  用时0.026s
1000000 test

real    0m0.014s
user    0m0.009s
sys    0m0.003s

2、grep方法,用时0.080s

time grep -c "" test
1000000

real    0m0.041s
user    0m0.037s
sys    0m0.002s

3、用时0.159s

time sed -n \'$=\' test
1000000

real    0m0.080s
user    0m0.073s
sys    0m0.006s

4、用时0.095s

time awk \'END{print NR}\' test
1000000

real    0m0.049s
user    0m0.042s
sys    0m0.004s

结论:wc>grep>awk>sed

参考:1、http://www.linuxidc.com/Linux/2012-06/63680.htm

2、http://man.linuxde.net/sed

3、http://man.linuxde.net/awk

分类:

技术点:

相关文章: