shell统计一个文件中有多少行

比如想要统计test.txt文件中的内容,内容示例:

{"1":"08","2":"01","name":"yilishaabai","age":"10000"}
{"2":"03","3":"01","name":"yi","age":"10"}
{"3":"05","5":"01","name":"yilish","age":"100"}
{"4":"06","7":"01","name":"yilishaa","age":"1000"}

方法一

$ grep -c "" text.txt

输出:4

解释:-c 或 --count : 计算符合样式的列数。

补充:想要使用grep搜索的内容包含了双引号",此时需要加上反斜杠\,表示转义。比如过滤"yi":

$ grep \"yi\" text.txt

输出:
{"2":"03","3":"01","name":"yi","age":"10"}

方法二

$ grep -n "" text.txt | wc -l   //等价于 cat text.txt  | wc -l

 输出:4

解释:$ grep -n "" text.txt,输出:可以看到行号,如下:

1:{"1":"08","2":"01","name":"yilishaabai","age":"10000"}
2:{"2":"03","3":"01","name":"yi","age":"10"}
3:{"3":"05","5":"01","name":"yilish","age":"100"}
4:{"4":"06","7":"01","name":"yilishaa","age":"1000"}

    $ cat -n text.txt   //输出显示行号, 等价于nl

     1    {"1":"08","2":"01","name":"yilishaabai","age":"10000"}
     2    {"2":"03","3":"01","name":"yi","age":"10"}
     3    {"3":"05","5":"01","name":"yilish","age":"100"}
     4    {"4":"06","7":"01","name":"yilishaa","age":"1000"}

 wc命令:用于计算字数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。

         -c或--bytes或--chars 只显示Bytes数。
        -l或--lines 只显示行数。
        -w或--words 只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
    举个例子:
    wc -l *       # 统计当前目录下的所有文件行数及总计行数。
    wc -l *.py    # 统计当前目录下的所有 .js 后缀的文件行数及总计行数。
    find  . * | xargs wc -l # 当前目录以及子目录的所有文件行数及总计行数。

方法三:

 $ awk '{print NR}' text.txt | tail -n1   //-n1:显示文件的尾部1行内容,即4

输出:4
解释: $ awk '{print NR}' text.txt  //打印序号

1
2
3
4

tail:可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

方法四:

$ awk 'END{print NR}' text.txt

输出:4

方法五:

$ sed -n '$=' text.txt

输出:4
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值