代码改变世界

shell命令之一天一见

2016-11-11 10:20  不知道怎么取名字  阅读(277)  评论(0编辑  收藏  举报

一、在统计行数时常要用的到命令包括 w、c、l, 在这里做个简单的介绍。

语法:wc [选项] 文件… 

说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:

  - c 统计字节数。

  - l 统计行数。

  - w 统计字数

这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

[longpengpeng@moon align]$ wc -lcw align1 align2
   8008   16009  552322 align1
  10008   20009  690322 align2
  18016   36018 1242644 total

1、shell 计算行数:grep -c "" xxx.txt   或   grep -n  ""  xxx.txt | wc -l (文件不一定是。txt)

eg.  在test.dat文件中有9行,

longpengpeng@PC-201604021910:~/work$ grep  -c "" test.dat 
9

  longpengpeng@PC-201604021910:~/work$ grep -n "" test.dat | wc -l
  9

2、如果直接运行 grep -n "" xxx.txt  ,则是直接显示文件中的每一行内容

longpengpeng@PC-201604021910:~/work$ grep -n "" test.dat
1:jkakjgk
2:sks
3:lsf
4:msfm
5:ma
6:al
7:amle
8:aml
9:

3、显示文件中每行的内容,还有其他的命令,如cat -n 或者 ln xxx

longpengpeng@PC-201604021910:~/work$ nl test.dat
     1  jkakjgk
     2  sks
     3  lsf
     4  msfm
     5  ma
     6  al
     7  amle
     8  aml

3、其他常用的统计命令  

   统计文件夹中相关文件数:

  a、find path -type f | wc -l   #统计path 路径下的文件数

  b、find path -type f -name "*iscsi*"  | wc -l  #统计文件名中带有iscsi的文件数

  c、du -h --max-depth=1 # 统计文件夹中的文件大小,只显示一层 , 

  d、du -m --max-depth=3|sort -t' ' -k1 -n -r|head -n 20   #du -m --max-depth=3输出单位为M,查看三层。sort 按照大小来排序。head 取前20个

  e、