Lunix 常用命令


//打印前10行
$ head file 
//从stdin读取数据
$ cat text | head
//指定打印文件前几行
$ head -n 4 file
//打印除了除了最后N行之外的所有行
$ head -n -N file
//打印除最后5行之外的所有行
$ seq 11 | head -n -5

//打印第一行至第五行
$ seq 100 | head -n 5

//打印后10行
$ tail file

//查看后10行
$ cat text | tail

//打印出前5行之外的所有行
$ tail -n 5 file

统计单词在文件中出现的次数
awk '{print $2}' docker.log | grep 192.168.1.1 | wc -l
head -n 2000 error.log | awk '{print $2}' error.log | grep '12:08:52' | wc -l

使用linux命令或者shell实现:文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计这个文件中出现次数最多的前10个单词。
cat xxxx.txt | sort | uniq -c | sort -k1,1nr | head -10
cat xxxx.txt | sort | awk '{print $1}' | uniq -c | sort -k1,1nr | head -10
主要考察对sort、uniq命令的使用,相关解释如下,命令及参数的详细说明请自行通过man查看,简单介绍下以上指令各部分的功能:

sort:  对单词进行排序
uniq -c:  显示唯一的行,并在每行行首加上本行在文件中出现的次数
sort -k1,1nr:  按照第一个字段,数值排序,且为逆序
head -10:  取前10行数据

//打印出前5行之外的所有行
$ tail -n +(N+1)
//打印出6至100行
$ seq 100 | tail -n +6 
//打印80行至100行
$ head -n 100 catalina.out | tail -n +80

linux 如何显示一个文件的某几行(中间几行)
【一】从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000

*注意两种方法的顺序
分解:

    tail -n 1000:显示最后1000行

    tail -n +1000:从1000行开始显示,显示1000行以后的

    head -n 1000:显示前面1000行

【三】用sed命令
 sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。
sed -n '/2014-08-12 10:39:25/,/2014-08-12 10:53:58/p' xxx.log
sed -n '/Aug 6, 2014 11:02:30/,/Aug 6, 2014 11:02:39/p' catalina.out



查看os系统块的大小
[root@dg1 ~]# tune2fs -l /dev/sda1 |grep 'Block size'
Block size: 4096

查看os系统页的大小
[root@dg1 ~]# getconf PAGESIZE
4096

sed 命令详解 http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html


猜你喜欢

转载自blaiu.iteye.com/blog/2095748